C++学习012友元

举报
DreamLife 发表于 2022/04/14 23:17:51 2022/04/14
【摘要】 何为友元,我的理解,友元就是把另一个类当作是我的朋友,朋友之间,是可以访问一些私有的变量的。 所以,当我们将一个累声明为自己的友元类的时候,那么这个类就可以访问我们自己类中的某些私有变量等 当我把某个函数声明为自己的友元函数的时候,这个函数也就可以获取到我们自己的稀有变量了 如下代码   #include <ios...

何为友元,我的理解,友元就是把另一个类当作是我的朋友,朋友之间,是可以访问一些私有的变量的。
所以,当我们将一个累声明为自己的友元类的时候,那么这个类就可以访问我们自己类中的某些私有变量等
当我把某个函数声明为自己的友元函数的时候,这个函数也就可以获取到我们自己的稀有变量了

如下代码

 


  
  1. #include <iostream>
  2. #include <stdio.h>
  3. using namespace std;
  4. class CHand
  5. {
  6. private:
  7. int fingernum;
  8. void write();
  9. public:
  10. CHand();
  11. friend class CMan;
  12. friend int getfingetfriend();
  13. };
  14. class CMan
  15. {
  16. public:
  17. CHand hand;
  18. int getfingernum();
  19. void handwrite();
  20. };
  21. int CMan::getfingernum()
  22. {
  23. return hand.fingernum;
  24. }
  25. void CMan::handwrite()
  26. {
  27. hand.write();
  28. }
  29. CHand::CHand()
  30. {
  31. fingernum =5;
  32. }
  33. void CHand::write()
  34. {
  35. cout<<"Hand can write\n";
  36. }
  37. int getfingetfriend()
  38. {
  39. CHand hand;
  40. return hand.fingernum;
  41. }
  42. int main()
  43. {
  44. CMan man;
  45. cout<<"the man finget nunber is:"<<man.getfingernum()<<endl;
  46. cout<<"thr firned function get finget number is:"<<getfingetfriend();
  47. cout<<endl;
  48. man.handwrite();
  49. return 0;
  50. }

 

 

 

 

 

 

文章来源: dreamlife.blog.csdn.net,作者:DreamLife.,版权归原作者所有,如需转载,请联系作者。

原文链接:dreamlife.blog.csdn.net/article/details/52198613

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。