1 #include <iostream> // 标准的输入输出
2 using namespace std;
3
4 class Building;
5 class goodFriend {
6 public:
7 goodFriend();
8 void visit();
9 void visit2();
10 Building* b;
11 };
12 class Building {
13 friend void goodFriend::visit();
14
15 public:
16 Building(); // 类内申明,类外实现
17 public:
18 string m_sittingrookm;
19
20 private:
21 string m_bedroom;
22 };
23
24 // 类外实现
25 Building::Building()
26 {
27 this->m_sittingrookm = "卧室";
28 this->m_bedroom = "客厅";
29 }
30
31 // 类外实现
32 goodFriend::goodFriend()
33 {
34 b = new Building;
35 }
36
37 void goodFriend::visit()
38 {
39 cout << "好基友正在参观" << this->b->m_sittingrookm << endl;
40 cout << "好基友正在参观" << this->b->m_bedroom << endl; // 将goodFriend申明为Building的友元类;
41 }
42
43 void goodFriend::visit2()
44 {
45 cout << "好基友正在参观" << this->b->m_sittingrookm << endl;
46 // cout << "好基友正在参观" << this->b->m_bedroom << endl; // 将goodFriend申明为Building的友元类;
47 }
48 void test01()
49 {
50
51 goodFriend g;
52 g.visit();
53 g.visit2();
54 }
55
56 int main()
57 {
58 test01();
59 return 0;
60 }
C++ 成员函数做友元函数
最新推荐文章于 2024-01-18 11:11:45 发布