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 }

posted @ 2019-09-25 19:38  ChunhaoMo  阅读(128)  评论(0编辑  收藏  举报