其他分享
首页 > 其他分享> > c – 私有,公共和受保护继承之间的区别

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