首页 > 代码库 > c++ 友元类 与 友元类派生类
c++ 友元类 与 友元类派生类
定义:
当一个类B成为了另外一个类A的“朋友”时,那么类A的私有和保护的数据成员就可以被类B访问。我们就把类B叫做类A的友元。
用法:
在A类中加入:
friend class B;
下面这个程序说明了友元类与友元派生类的权限。
class A { public: friend class FriendA; private: int a; }; class FriendA { public: void print(A& ca) { //因为是友元类,所以可以访问A类的私有成员。 ca.a = 3; std::cout << ca.a << std::endl; } }; class FriendA1 : public FriendA { public: void print1(A& ca) { //编译错误,继承后新定义的函数并不带有友元性质。 ca.a = 4; std::cout << ca.a << std::endl; } }; int main() { A a; FriendA fa; fa.print(a); FriendA1 fa1; fa1.print(a);//父类的该函数为友元函数。 //fa1.print1(a); return 0; }
//总结,也就是声明友元类时,友元类中所有的函数变为了友元函数。 而后面派生新加的函数则不为友元函数。
//重写函数、虚函数也不行。
c++ 友元类 与 友元类派生类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。