赞
踩
在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术
友元的目的就是让一个函数或者类 访问另一个类中私有成员
通俗一点说就是友元,就好比你的闺蜜,你可以让他了解你身上的特有的东西
友元的关键字为 friend
-
- #include<iostream>
- #include<string>
- using namespace std;
-
- //全局函数做友元
-
- //建筑物类
- class Building
- {
- //goodGay全局函数是Building好朋友,可以访问Building中私有成员,其实就是友元
- friend void goodGay(Building* building);
- public:
- Building() {
- livingRoom = "客厅";
- BedRoom = "卧室";
- }
- public:
- string livingRoom;//客厅
-
- private:
-
- string BedRoom;//卧室
-
-
- };
-
- //全局函数
-
- void goodGay(Building *building)
- {
- cout << "好朋友全局函数 正在访问:" << building->livingRoom << endl;
-
- //cout << "好朋友全局函数 正在访问:" << building->BedRoom << endl;//这段代码显然会有问题,因为bedRoom是个私有属性,无法直接访问。
-
- cout << "好朋友全局函数 正在访问:" << building->BedRoom << endl;//在类中声明friend(友元),现在再运行该代码就不会报错
-
- }
-
- void test01()
- {
- Building building;
- goodGay(&building);
- }
-
-
- int main() {
-
- test01();
-
- system("pause");
-
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。