C++类成员函数作友元
class Building {
void printRst();//此时printRst()访问权限为private
public:
Building() {
printRst();
}
};
class Rooms {
friend void Building::printRst();//成员函数做友元
public:
string bedroom;
Rooms(string bed, string living) :bedroom(bed), livingRoom(living) {}//初始化列表
private:
string livingRoom;
};
void Building::printRst() {
Rooms r2("lihao", "baiming");
cout <<"类成员函数做友元:"<< r2.livingRoom;
}
int main(){
Building b;
system("pause");
return 0;
}
##1. 程序运行报错,显示printRst()无法访问Rooms中的私有成员
##2. 当调整Building中的printRst()函数为public权限时可正常访问
结论:类的私有成员函数不能成为另一个类的友元对象