首页 技术 正文
技术 2022年11月19日
0 收藏 351 点赞 3,151 浏览 2449 个字
  1 //友元  全局函数做友元
2 /*
3 #include <iostream>
4 #include <string>
5 using namespace std;
6
7 //建筑物类
8 class Building
9 {
10
11 //GoodGay全局函数 是 Building好朋友 可以访问 Building中私有成员
12 friend void GoodGay(Building& building);
13
14 public:
15 Building() //构造函数 赋初值
16 {
17 m_SittingRoom = "客厅";
18 m_BedRoom = "卧室";
19 }
20
21 public:
22 string m_SittingRoom; //客厅
23
24 private:
25 string m_BedRoom; //卧室
26 };
27
28 //全局函数
29 void GoodGay(Building &building)
30 {
31 cout << "好基友全局函数 正在访问 :" << building.m_SittingRoom << endl;
32
33
34 cout << "好基友全局函数 正在访问 :" << building.m_BedRoom << endl;
35
36 }
37
38 void test01()
39 {
40 Building building; //实例化
41 GoodGay(building);
42 }
43 int main()
44 {
45 test01();
46 }
47 */
48
49
50
51 //类做友元
52 /*
53 #include <iostream>
54 #include <string>
55 using namespace std;
56
57 class Building;
58
59 class GoodGay
60 {
61 public:
62 GoodGay();
63
64 void visit(); //参观函数 访问 Building中的熟悉
65
66 Building* building;
67 };
68
69 class Building
70 {
71
72 //goodgay类是Building 的好朋友 可以访问本类中的私有成员
73 friend class GoodGay;
74
75 public:
76 Building();
77
78 public:
79 string m_SittingRoom; //客厅
80
81
82 private:
83 string m_BedRoom; //卧室
84
85 };
86
87 //类外去写成员函数
88 Building::Building()
89 {
90 m_SittingRoom = "客厅";
91 m_BedRoom = "卧室";
92 }
93 GoodGay::GoodGay()
94 {
95 //创建建筑物对象
96 building = new Building;
97
98 }
99 void GoodGay:: visit()
100 {
101 cout << "好基友类正在访问 :" << building->m_SittingRoom << endl;
102
103 cout << "好基友类正在访问 :" << building->m_BedRoom << endl;
104 }
105
106 void test01()
107 {
108 GoodGay gg;
109 gg.visit();
110 }
111 int main()
112 {
113 test01();
114 }
115 */
116
117
118
119 //成员函数做友元
120 /*
121 #include <iostream>
122 #include <string>
123 using namespace std;
124
125 class Building;
126 class GoodGay
127 {
128 public:
129
130 GoodGay();
131
132
133
134 //让visit 函数可以访问Building中私有成员
135 void visit();
136
137 //让visi2函数 不可以访问Building中私有成员
138 void visit2();
139
140 Building* building;
141
142
143
144 };
145
146 class Building
147 {
148 //告诉编译器 GoodGay类下的visit 成员函数作为本类的好朋友
149 //可以访问私有成员
150
151 friend void GoodGay:: visit();
152
153 public:
154
155 Building();
156
157 public:
158
159 string m_SittingRoom; //客厅
160
161 private:
162
163 string m_BedRoom; //卧室
164 };
165
166 //类外实现函数初始化
167 Building::Building()
168 {
169 m_SittingRoom = "客厅";
170 m_BedRoom = "卧室";
171 }
172 GoodGay::GoodGay()
173 {
174 building = new Building;
175 }
176
177 //让visit 函数可以访问Building中私有成员
178 void GoodGay:: visit()
179 {
180 cout << "visit 函数 正在访问 : " << building->m_SittingRoom << endl;
181
182 cout << "visit 函数 正在访问 : " << building->m_BedRoom << endl;
183 }
184
185 //让visi2函数 不可以访问Building中私有成员
186 void GoodGay:: visit2()
187 {
188 cout << "visit2 函数 正在访问 : " << building->m_SittingRoom << endl;
189
190 //cout << "visit 函数 正在访问 : " << building->m_BedRoom << endl;
191
192 }
193
194 void test01()
195 {
196 GoodGay gg;
197 gg.visit();
198 gg.visit2();
199 }
200
201 int main()
202 {
203 test01();
204 }
205 */
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,361
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,853