关键代码
friend void goodgay::visit();
表示goodgay类中的成员函数visit()作为本类的好朋友
1 #include<bits/stdc++.h>
2 using namespace std;
3
4 class Building;
5 class goodgay
6 {
7 public:
8 goodgay();
9
10 void visit();//可访问Building中的私有成员
11
12 void visit1();//不可访问Building中的私有成员
13
14 Building *building;
15 };
16
17 class Building
18 {
19 friend void goodgay::visit();
20 //表示goodgay类中的成员函数visit()作为本类的好朋友
21 public:
22 Building();
23
24 public:
25 string sittingroom;
26
27 private:
28 string bedroom;
29
30 };
31
32 Building::Building()
33 {
34 sittingroom = "sittingroom";
35 bedroom = "bedroom";
36 }
37
38 goodgay::goodgay()
39 {
40 building = new Building;
41 }
42
43 void goodgay::visit()
44 {
45 cout << "00 goodgay is visitting " << building->sittingroom << endl;
46 cout << "00 goodgay is visitting " << building->bedroom << endl;
47 }
48
49 void goodgay::visit1()
50 {
51 cout << "01 goodgay is visitting " << building->sittingroom << endl;
52 //cout << "goodgay is visitting " << building->bedroom << endl;
53 }
54
55 void test()
56 {
57 goodgay gg;
58 gg.visit();
59 gg.visit1();
60 }
61
62 int main()
63 {
64 test();
65 return 0;
66 }