友元的概念
全局函数做友元
首先创建一个建筑物的类,类中有一个属性为public
的string m_SittingRoom
,和一个属性为private
的属性string m_BedRoom
一般来说,全局函数不能访问类的私有变量
但通过友元,即可访问
类做友元
例子
首先定义一个GoodGay的类
再定义一个Building类
再在构造函数中对两个变量赋初值
这里采用类外写成员函数
再写一个GoodGay的构造函数,使其创建建筑物对象:
再让visit
调用Building中的对象
调用流程
首先创建一个GoodGay的对象,创建时调用其构造函数
而GoodGay的构造函数创建了一个Buiding的对象
因此会调用Building的构造函数,给内部属性赋值
此时调用visit
即可访问客厅,而当加上:
后即可访问m_BedRoom
成员函数做友元