📅  最后修改于: 2023-12-03 15:11:24.523000             🧑  作者: Mango
在C++中,类的成员可以被声明为private、protected或public。这些访问指定符用于限制类的成员在类内部和类外部的访问权限。
私有成员只能在类内部访问,外部无法访问。私有成员通常用于实现类的实现细节和数据隐藏。
示例代码:
class MyClass {
private:
int myPrivateVar;
public:
void setPrivateVar(int var) {
myPrivateVar = var;
}
int getPrivateVar() {
return myPrivateVar;
}
};
int main() {
MyClass obj;
obj.setPrivateVar(42);
// obj.myPrivateVar = 42; // error: private member cannot be accessed
std::cout << obj.getPrivateVar() << std::endl; // output: 42
return 0;
}
受保护成员只能在类内部和派生类中访问,外部无法访问。protected成员通常用于在继承中共享数据。
示例代码:
class MyBaseClass {
protected:
int myProtectedVar;
};
class MyDerivedClass : public MyBaseClass {
public:
void setProtectedVar(int var) {
myProtectedVar = var;
}
int getProtectedVar() {
return myProtectedVar;
}
};
int main() {
MyDerivedClass obj;
obj.setProtectedVar(42);
// obj.myProtectedVar = 42; // error: protected member cannot be accessed outside a derived class
std::cout << obj.getProtectedVar() << std::endl; // output: 42
return 0;
}
使用这些访问指定符的目的是将类的实现隐藏起来,只暴露必要的接口。这有助于保护数据的完整性和增强代码的可维护性。