c++友元
其实它这个设计者从生活中得到的设计灵感吧。
比如说你们家,有客厅和卧室两个地方。对于客厅是所有的客人都可以访问的。
但是你们家的卧室就是比较私密的地方,不是所有的客人都可访问
但是,可能你的好闺蜜,好朋友,跟你关系很好,你是允许他们访问你们家的卧室的
程序中也有类似的友元关系
友元的目的就是为了,让类或者函数访问某个类的私有成员
友元关键字为 friend
友元的三种实现
1.全局函数做友元
2.类做友元
3.成员函数做友元
这次先说全局函数做友元
就在类中最上方给全局函数前+friend就可以了
1 #include<bits/stdc++.h> 2 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 }