gpt4 book ai didi

c++ - 为什么从父类继承时需要 "public: ParentClass"?

转载 作者:行者123 更新时间:2023-11-28 03:31:47 24 4
gpt4 key购买 nike

据我了解,这是在 C++ 中子类化的唯一方法:

class ParentClass {
...
}

class ChildClass : public ParentClass {
...
}

为什么需要“:public”?子类总是只继承父类的所有公共(public)和 protected 变量和方法吗?

我不确定为什么不能使用它:

class ChildClass : ParentClass {

最佳答案

这不是必需的,尽管私有(private)继承是一种代码味道,因为它没有完全反射(reflect) is-a 关系(继承也应该如此)。

class ChildClass : ParentClass

相当于

class ChildClass : private ParentClass

这并不意味着 ChildClass 只继承基类的私有(private)成员,而是将它们的可访问性限制在指定级别。这意味着继承基类的方法在派生类中变为私有(private)。

关于c++ - 为什么从父类继承时需要 "public: ParentClass"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com