友元
生活中你的家有客厅(Public),有你的卧室(Private)
客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去
但是呢,你也可以允许你的好闺蜜好基友进去。
在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术
友元的目的就是让一个函数或者类 访问另一个类中私有成员
友元的关键字为 ==friend==
友元的三种实现
- 全局函数做友元
- 类做友元
- 成员函数做友元
4.4.1 全局函数做友元
1 #include <iostream>
2 #include <string>
3 using namespace std;
4 class building
5 {
6 //goodgay全局函数是building的好朋友,可以访问Building 中的私有成员
7 friend void goodgay(building* Building);
8 public:
9 building()
10 {
11 m_sittingroom = "客厅";
12 m_badroom = "卧室";
13 }
14 public:
15 string m_sittingroom;//客厅
16 private:
17 string m_badroom;
18 };
19 //全局函数
20 void goodgay(building* Building)
21 {
22 cout << "好基友全局函数 正在访问 :" << Building->m_sittingroom << endl ;
23 cout << "好基友的函数 正在访问 :" << Building->m_badroom;
24 }
25 int main()
26 {
27 building Building;
28 goodgay(&Building);
29 }

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/283201.html