定义派生类时,为啥基类标记为“public”? [复制]
Posted
技术标签:
【中文标题】定义派生类时,为啥基类标记为“public”? [复制]【英文标题】:When defining a derived class, why is the base class marked "public?" [duplicate]定义派生类时,为什么基类标记为“public”? [复制] 【发布时间】:2012-03-21 23:56:32 【问题描述】:可能重复:Difference between private, public and protected inheritance in C++
我讲义中的一个例子是
class TransportShip : public GameUnit
int capacity;
public:
...
为什么我们需要在基类名称前加上“public”修饰符?如果它不存在意味着什么?
【问题讨论】:
阅读您的 C++ 书中关于公共、受保护和私有继承的章节。 parashift.com/c++-faq-lite/private-inheritance.html 我们实际上没有教科书 -_- 不过感谢您提供链接 @badatmath 那就来一份吧! 像《21 天自学 C++》这样的书是一个很好的起点。 【参考方案1】:这意味着基类是私有的。
对于一个类,默认情况下,基类和所有成员都是私有的。对于结构,默认情况下,基类和所有成员都是公共的。
如果基础是私有的,那么只有类的成员才能访问基础的成员。
【讨论】:
以上是关于定义派生类时,为啥基类标记为“public”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章