c – 私有,公共和受保护继承之间的区别
作者:互联网
C中的public,private和protected继承有什么区别?我在SO上发现的所有问题都涉及具体案例.
解决方法:
要回答这个问题,我想先用自己的话来描述成员的访问者.如果您已经知道这一点,请跳至标题“next:”.
我知道有三种访问者:公共,受保护和私有.
让:
class Base {
public:
int publicMember;
protected:
int protectedMember;
private:
int privateMember;
};
>知道Base的所有内容都知道Base包含publicMember.
>只有子项(及其子项)知道Base包含protectedMember.
>除了Base之外,没有人知道privateMember.
通过“意识到”,我的意思是“承认存在,从而能够访问”.
下一个:
公共,私有和受保护的继承也是如此.让我们考虑一个类Base和一个继承自Base的类Child.
>如果继承是公共的,那么所有知道Base和Child的东西也都知道Child继承自Base.
>如果继承受到保护,则只有Child及其子代知道它们从Base继承.
>如果继承是私有的,除了Child之外没有人知道继承.
标签:access-specifier,c,inheritance,encapsulation,c-faq 来源: https://codeday.me/bug/20190911/1802643.html