#include <iostream>
using namespace std;
class Base
{
friend class Frnd;
protected:
int i;
};
class D1 : Base
{
private:
int j;
};
class Frnd
{
public:
int mem(Base b) { return b.i; }
//int men(D1 c) { return c.j; } // 这是错误的,
};
class D2 : Frnd
{
public:
//int mem(Base d) {return d.i ;} // 这个也是不行的只有在Base类中加入友元 friend class Frnd 才可以,
};
// 友元可以访问类的private和protected成员,友元关系不能继承,要明确授予友元,
int main()
{
Frnd b;
return 0;
}
友元与继承
最新推荐文章于 2022-03-09 16:58:32 发布