最近,我用 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/