C++自学笔记(16 类和对象_友元)
16 类和对象_友元
本次记录友元,还请各位大佬批评指正!
家里有客厅(public),有卧室(private)。客厅可以让所有来的客人进去,但是卧室是私有的,只有自己能进去。但是也可以让好闺蜜、好基友进去。
在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术。
友元的目的: 让一个函数或者类 访问另一个类中私有成员。
友元的关键字:friend
友元的三种实现:
1、全局函数做友元
2、类做友元
3、成员函数做友元
全局函数做友元
#include<iostream>
#include <stdlib.h>
#include<string>
using namespace std;
//全局函数做友元
//建筑物类
class building
{
//goodgay全局函数是 building的好朋友,可以访问building中的私有成员
friend void goodgay(building* building);
public:
building()
{
m_sittingroom = "客厅";
m_bedroom = "卧室";
}
public:
string m_sittingroom;//客厅
private:
string m_bedroom;//卧室
};
//全局函数
void goodgay(building* building)
{
cout << "好基友的全局函数正在访问:" << building->m_sittingroom << endl;
cout << "好基友的全局函数正在访问:" << building->m_bedroom <<