C++中类型为private的成员变量可以由哪些函数访问 ?
参考答案:
在C++中,一个类的私有(private)成员变量只能由该类的成员函数访问,包括:
-
构造函数和析构函数:类的构造函数和析构函数可以访问私有成员变量,因为它们是类的特殊成员函数,用于初始化或清理对象的状态。
-
公有(public)成员函数:类的公有成员函数可以访问私有成员变量,因为公有成员函数是类的接口,用于在对象外部与对象进行交互。
-
保护(protected)成员函数:类的保护成员函数也可以访问私有成员变量。保护成员函数是介于公有和私有之间的一种访问级别,它们可以被类的成员函数(包括派生类中的成员函数)访问,但不能被类的对象直接访问。
以下是一个简单的示例,展示了如何在一个类的成员函数中访问私有成员变量:
class MyClass {
private:
int myPrivateVariable;
public:
MyClass(int value) : myPrivateVariable(value) {} // 构造函数可以访问私有变量
void setPrivateVariable(int value) {
myPrivateVariable = value; // 公有成员函数可以访问私有变量
}
int getPrivateVariable() const {
return myPrivateVariable; // 公有成员函数可以访问私有变量
}
};
int main() {
MyClass obj(10);
obj.setPrivateVariable(20); // 通过公有成员函数设置私有变量的值
int value = obj.getPrivateVariable(); // 通过公有成员函数获取私有变量的值
return 0;
}
在这个例子中,myPrivateVariable
是一个私有成员变量,它只能通过类的构造函数、setPrivateVariable
公有成员函数和 getPrivateVariable
公有成员函数来访问。