c++ - 如何调用基类构造函数?

标签 c++ constructor

最近,我用 Java 做了很多编程。在那里,你用 super() 调用你继承的类。(你可能都知道。)

现在我有一个 C++ 类,它有一个带有一些参数的默认构造函数。示例:

class BaseClass {
public:
    BaseClass(char *name); .... 

如果我继承了这个类,它会警告我没有合适的默认构造函数可用。那么,在 C++ 中是否有类似 super() 的东西,还是我必须定义一个函数来初始化所有变量?

最佳答案

您在子类的构造函数的初始化列表中执行此操作。

class Foo : public BaseClass {
public:
    Foo() : BaseClass("asdf") {}
};

在初始化任何成员之前,必须在那里调用带有参数的基类构造函数。

关于c++ - 如何调用基类构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6923722/

相关文章:

c++ - SDL/SDL.h : No such file or directory

PHP 类构造函数将 mysql 行作为对象返回

c++ - 如何正确解决 "undefined reference to vtable"错误?

c++ - 如何在C++中创建指针数组

javascript - 为什么在继承过程中需要重置 javascript 构造函数?

c++ - 每当我找到 key 时如何增加值? BST

c++ - 赋值后值可以改变吗?

c++ - 使用 std::fill 与 std::integer_sequence 进行 std::array 填充

c++ - QT5:如何将一个样式表应用于不同的小部件?

java - 为什么我在初始化实例变量时得到零?