c++ public private
时间: 2023-04-22 18:02:39 浏览: 68
C++中的public和private是访问控制修饰符,用于控制类的成员变量和成员函数的访问权限。
public表示公共的,可以被类的外部和内部访问,即可以在类的外部通过对象访问,也可以在类的内部访问。
private表示私有的,只能在类的内部访问,即不能在类的外部通过对象访问,只能在类的成员函数中访问。私有成员变量和函数可以通过公有成员函数来访问和修改。
相关问题
c++ public private protected区别
在C++中,public、private和protected是访问控制关键字,用于控制类的成员的访问权限。其中public表示公有的,可以被类的内部和外部访问;private表示私有的,只能被类的内部访问;protected表示受保护的,可以被类的内部和子类访问。这些关键字可以用于类的成员函数、数据成员、嵌套类等的声明中。
c++ class public private
在 C++ 中,类中的成员变量和成员函数可以被定义为 public、private 或 protected。这些关键字用于控制类的访问权限。
public 成员可以被任何人访问,包括类的成员函数、类外的函数和其他类的成员函数。通常情况下,成员函数应该定义为 public,以便其他函数和类可以使用它们。
private 成员只能被类的成员函数访问,不能被类外的函数或其他类的成员函数访问。通常情况下,成员变量应该定义为 private,以确保数据的封装性。
protected 成员与 private 成员类似,也只能被类的成员函数访问。不同的是,protected 成员可以被其派生类的成员函数访问。通常情况下,protected 成员应该用于实现类的继承和多态性。
以下是一个使用 public 和 private 成员的示例代码:
```c++
#include <iostream>
using namespace std;
class MyClass {
public:
void setX(int x) {
this->x = x;
}
int getX() {
return x;
}
private:
int x;
};
int main() {
MyClass obj;
obj.setX(10);
cout << obj.getX() << endl; // 输出 10
// cout << obj.x << endl; // 错误:x 是 private 成员,不能被访问
return 0;
}
```
在上面的代码中,我们定义了一个名为 MyClass 的类,它包含一个 private 整数成员 x 和两个 public 成员函数 setX 和 getX。setX 函数用于设置 x 的值,getX 函数用于获取 x 的值。在主函数中,我们创建了一个 MyClass 对象 obj,并调用 setX 函数将 x 设置为 10。然后,我们使用 getX 函数获取 x 的值,并输出结果。
需要注意的是,private 成员只能在类的成员函数中访问,不能在类外的函数或其他类的成员函数中访问。如果尝试访问 private 成员,编译器将会报错。