| 继承类型 | 基类成员访问说明符 | 派生类成员访问说明符 |
| public | public | public |
| protected | private | |
| private | inaccessiable | |
| protected | public | protected |
| protected | protected | |
| private | inaccessiable | |
| private | public | private |
| protected | private | |
| private | inaccessible |
子类中的友元函数只能通过子类对象去访问基类的protected成员
class Base {
protected:
int prot_mem = 10;
};
class Child : public Base {
public:
int getMember() { return prot_mem; }
friend int getMember1( Child child);
friend int getMember2(Base base);
};
int getMember1(Child child)
{
return child.prot_mem; //correct, can access
}
int getMember2(Base base)
{
return base.prot_mem;// error C2248: 'Base::prot_mem': cannot access protected member declared in class 'Base'
}
最后
以上就是秀丽美女最近收集整理的关于C++ 继承中的访问控制的全部内容,更多相关C++内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复