C++核心编程 15 友元

目录

一、全局函数作为友元函数

二、类作为友元类

 三、成员函数作为友元函数


一、全局函数作为友元函数

友元,使非成员函数可以访问类内私有属性。

  1. 语法:friend+函数声明(函数类型+函数名称)
//家建筑
class Building
{
	//有一个全局函数 作为本类的友元函数,可以继续访问到私有内容
	friend void goodGay(Building& building);
public:
	Building()
	{
		this->m_BedRoom = "卧室";
	}


private:
	//卧室
	string m_BedRoom;

};

二、类作为友元类

        1.语法:friend+类声明(class+类名称)

        2.

class goodGay
{
public:
	goodGay();
	void visit();
private:
	Building* building;
};
//家建筑
class Building
{
	//告诉编译器 goodGay类是本类的好朋友,可以访问到里面私有成员
	friend class goodGay;

public:
	Building();
private:
	//卧室
	string m_BedRoom;
};

 三、成员函数作为友元函数

        1.写法:friend+成员函数声明(函数类型+类名称+::+成员函数名称)

        2.

class goodGay
{
public:
	goodGay();
	void visit();//visit 可以访问到Building中私有属性
	void visit2();//visit2 不可以访问到Building中私有属性
private:
	Building* building;
};
//家建筑
class Building
{
	friend void goodGay::visit();
public:
	Building();
public:
	//客厅
	string m_SittingRoom;
private:
	//卧室
	string m_BedRoom;
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值