当前位置:   article > 正文

C++基础知识:友元是什么,友元(全局函数做友元)

C++基础知识:友元是什么,友元(全局函数做友元)

在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术


友元的目的就是让一个函数或者类 访问另一个类中私有成员

通俗一点说就是友元,就好比你的闺蜜,你可以让他了解你身上的特有的东西


友元的关键字friend

全局函数做友元代码测试:

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. //全局函数做友元
  5. //建筑物类
  6. class Building
  7. {
  8. //goodGay全局函数是Building好朋友,可以访问Building中私有成员,其实就是友元
  9. friend void goodGay(Building* building);
  10. public:
  11. Building() {
  12. livingRoom = "客厅";
  13. BedRoom = "卧室";
  14. }
  15. public:
  16. string livingRoom;//客厅
  17. private:
  18. string BedRoom;//卧室
  19. };
  20. //全局函数
  21. void goodGay(Building *building)
  22. {
  23. cout << "好朋友全局函数 正在访问:" << building->livingRoom << endl;
  24. //cout << "好朋友全局函数 正在访问:" << building->BedRoom << endl;//这段代码显然会有问题,因为bedRoom是个私有属性,无法直接访问。
  25. cout << "好朋友全局函数 正在访问:" << building->BedRoom << endl;//在类中声明friend(友元),现在再运行该代码就不会报错
  26. }
  27. void test01()
  28. {
  29. Building building;
  30. goodGay(&building);
  31. }
  32. int main() {
  33. test01();
  34. system("pause");
  35. return 0;
  36. }

代码解释:

 代码结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/987864
推荐阅读
相关标签
  

闽ICP备14008679号