首页 > 编程语言 > 详细

C++ friend关键字

时间:2016-06-17 06:12:42      阅读:216      评论:0      收藏:0      [点我收藏+]

  友元:友元函数 友元类。

  友元函数:不属于任何类,只是在类中声明一下(可以放在 private 或者 public,没有区别),告诉这个类,这个函数是你的朋友,当然朋友不是白当的:这个函数可以访问你的私有成员变量! 毫无疑问,这破坏了类的封装性,可能出现安全问题,那又怎么样~ 毕竟还是朋友。

  友元类:相当于使友元类里面所有的函数都变成了另一个类的友元函数。

  例如,以下语句说明类B是类A的友元类:

class A{


public:
friend class B;

};
类B的所有成员函数都是类A的友元函数,能存取类A的私有成员和保护成员。

      使用友元类时注意:

 

  (1) 友元关系不能被继承。
 

  (2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类A不一定是类B的友元,要看在类中是否有相应的声明。

 

  (3) 友元关系不具有传递性。若类B是类A的友元,类C是B的友元,类C不一定是类A的友元,同样要看类中是否有相应的申明 

 

  (4) 友元函数并不是类的成员函数,因此在类外定义的时候不能加上class::function name

   突然学到这个是因为给帮弟弟写homework,c++运算符重载用到的。

  

C++ friend关键字

原文:http://www.cnblogs.com/luntai/p/5592649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!