生活中你的家有客厅(Public),有你的卧室(Private)
客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去
但是呢,你也可以允许你的好闺蜜好基友进去。
在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术
友元的目的就是让一个函数或者类 访问另一个类中私有成员
友元的关键字为 ==friend==
友元的三种实现
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 }