其实它这个设计者从生活中得到的设计灵感吧。
比如说你们家,有客厅和卧室两个地方。对于客厅是所有的客人都可以访问的。
但是你们家的卧室就是比较私密的地方,不是所有的客人都可访问
但是,可能你的好闺蜜,好朋友,跟你关系很好,你是允许他们访问你们家的卧室的
程序中也有类似的友元关系
友元的目的就是为了,让类或者函数访问某个类的私有成员
友元关键字为 friend
友元的三种实现
1.全局函数做友元
2.类做友元
3.成员函数做友元
这次先说全局函数做友元
就在类中最上方给全局函数前+friend就可以了
1 #include2 using namespace std; 3 4 class Building 5 { 6 friend void goodgay(Building &build);//就在类中最上方给全局函数前+friend就可以了 7 8 public: 9 Building()10 {11 sittingroom = "sittingroom";12 bedroom = "bedroom";13 }14 15 public:16 string sittingroom;17 18 private:19 string bedroom;20 };21 22 void goodgay(Building &build)23 {24 cout << "goodgay is visiting " << build.sittingroom << endl; 25 cout << "goodgay is visiting " << build.bedroom << endl;26 }27 28 void test()29 {30 Building build;31 goodgay(build);32 }33 34 int main()35 {36 test();37 return 0;38 }