人。我看到几个案例:
class Derived:public Base{
public:
Derived(...):Base(...){}
}
我们应该在Derived ctor初始化列表中显式初始化Base的情况或原理是什么?感谢
答案 0 :(得分:4)
如果要使用参数调用基础构造函数。
答案 1 :(得分:0)
如果我们需要将派生构造函数的参数传递给基础构造函数,可以使用它。
class foo
{
public:
foo() {}
foo( int num ) {}
};
class bar : public foo
{
public:
bar(int barNum): foo(barNum) {}
};
答案 2 :(得分:0)
如果基类中有多个构造函数(基本上是入口点), 所以你可以选择打电话给他们。
答案 3 :(得分:0)
如果不能初始化基类,则将调用默认构造函数。
答案 4 :(得分:0)
一个好的编码标准会建议你始终在构造函数的初始化列表中初始化基类。
如果基类的构造函数需要一些参数,那么你必须这样做。