发布日期:2018-03-26
private,public和protected之间的区别+ 查看更多
private,public和protected之间的区别
+ 查看更多
发布日期:2018-02-26 17:06
分类:CPlusPlus
浏览次数:188
我看了一下,没有找到一个很好的关于在C++中公共,私有和受保护的继承之间区别的解释。 我发现的所有问题都涉及具体案例。 一般有什么区别?
回答
为了回答这个问题,我想先用自己的话描述成员的访问者。
我知道有三个访问器:public,protected和private。
我知道有三个访问器:public,protected和private。
例如:
class Base { public: int publicMember; protected: int protectedMember; private: int privateMember; };
一切可以访问Base类的也可访问publicMember。
只有Base类的子类(和子类的子类)可以访问protectedMember。
除Base类外,都不能访问privateMember。
只有Base类的子类(和子类的子类)可以访问protectedMember。
除Base类外,都不能访问privateMember。
公共,私人和受保护的继承也是如此。 让我们考虑一个类Base和一个继承Base的类Child。
如果继承是公共的,那么可访问Base和Child的可以访问到Child继承自Base的内容。
如果继承被保护,只有Child及其子类可以访问继承自Base的内容。
如果继承是私有的,除了Child以外没有人访问继承Base的内容。
如果继承是公共的,那么可访问Base和Child的可以访问到Child继承自Base的内容。
如果继承被保护,只有Child及其子类可以访问继承自Base的内容。
如果继承是私有的,除了Child以外没有人访问继承Base的内容。