C++的友元(friend)是一种特殊关系,它允许类中的**非成员函数**或者**其他类**访问该类的**私有成员**。通过友元机制,可以实现一些特殊的访问权限控制。在C++中,友元关系需要在类的声明中进行声明,使其他类或函数成为该类的友元。
友元关系是单向的,且无法被继承;
#include <iostream>
class MyClass {
private:
int privateData;
public:
MyClass(int data):privateData(data){}
friend void externalFunction(MyClass& obj);
};
void externalFunction(MyClass& obj)
{
//可以访问类的私有成员
obj.privateData = 10;
std::cout << "privateData:" << obj.privateData << std::endl;
}
int main() {
MyClass obj(8);
externalFunction(obj);
return 0;
}