在C++中,如果想要在不使用friend
类的情况下访问私有成员,可以使用公有的成员函数或者公有的友元函数来间接访问。
以下是一个示例代码,演示了如何通过公有成员函数来间接访问私有成员:
#include
class MyClass {
private:
int privateData;
public:
void setPrivateData(int data) {
privateData = data;
}
void printPrivateData() {
std::cout << "Private data: " << privateData << std::endl;
}
};
int main() {
MyClass obj;
obj.setPrivateData(42);
obj.printPrivateData();
return 0;
}
在上面的示例中,私有成员privateData
只能通过公有成员函数setPrivateData()
进行赋值,然后通过公有成员函数printPrivateData()
进行访问。
这样,我们就可以通过间接的方式访问私有成员,而不需要使用friend
类。