友元
- 友元的作用
让另一个函数或类可以访问另一个类中的私有成员,其关键字为friend
2、友元的三种实现
目录
1、友元的作用
2、友元的三种实现
a、全局函数做友元
#include <iostream>
#include <string>
using namespace std;
class Building{
friend void print(Building *b);//将全局函数的声明写入结构体,使该函数可以访问类中的私有变量
public :
Building();
string SettingRoom;
private:
string BedRoom;
};
Building::Building()
{
SettingRoom="客厅";
BedRoom="卧室";
}
void print(Building *b)//全局函数函数体的实现
{
cout<<"正在访问 :"<<b->SettingRoom<<endl;//运用指针操作
cout<<"正在访问 :"<<b->BedRoom<<endl;//该变量为私有变量
}
int main()
{
Building b;
print(&b);//传入地址
return 0;
b、类做友元
将以结构体a写入另一结构体b即可通过a访问b中的私有成员
Friend class a;
c、一个类中的成员函数做
友元
类a 中的成员函数做类b的友元,需要将以下代码写入类b 的最开始
Friend class a::函数名;