admin管理员组文章数量:1122881
友元
友元
- 友元类
- 几点说明
友元类
写法
用friend修饰类声明
示例
#include <iostream>using namespace std;class B; //类B声明
class A
{
private:int data;friend class B; //这里是友元类的声明.
};class B
{
public:void func(int x, A &a) {a.data = x;cout << a.data << endl;}
};int main()
{A a;B b;b.func(123,a);return 0;
}
通过上述例子可以看出友元的特点,声明了friend,(类B是类A的友元),那么B就可以在成员函数中访问A的所有成员(成员变量,成员函数),不管用什么修饰符(private,protected)修饰,都能访问
几点说明
友元比较简单,这里不举例了
每个类都负责控制自己的友元类和友元函数,所以,总结如下:
(1)友元关系不能被子类继承
(2)友元关系是单向的,比如B是A的友元,并不代表A是B的友元
(3)友元关系没有传递性,例如B是A的友元,C是B的友元,并不代表C是A的友元
友元关系的判断,还是要看类定义中有没有对应的friend声明
本文标签: 友元
版权声明:本文标题:友元 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1688054033a173684.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论