C++类成员函数作友元 私有权限下的类成员不能作为友元

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权限时可正常访问
结论:类的私有成员函数不能成为另一个类的友元对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值