前言:对前面继承(一)文章与继承(二)文章的补充;
一、友元与继承
1.友元分为友元函数和友元类;
2.在类的继承关系中,友元关系不能继承;也就是说,父类的友元函数和友元类,不能通过继承以后访问子类的成员;(即:父亲的朋友不是儿子的朋友)
如果真的需要父类的友元函数或者友元类访问子类的成员;那么可以在子类中,将该父类的友元函数或者友元类声明为自己的友元;这样就可以让父类的友元访问子类的成员;
代码说明:
#include<iostream>
using namespace std;
class B;
class A//父类A
{
friend void Show(A& a,B& b);//父类声明的友元函数
private:
void PrintfA()//父类成员
{
cout<<"A类"<<endl;
}
};
class B:public A//子类B;公有继承于A
{
private:
void PrintfB()//子类成员
{
cout<<"B类"<<