多重继承的构造函数会被多次调用吗?构造函数是按什么顺序调用的?这取决于继承列表中的顺序吗?
这里有一个例子(这只是为了让情况变得清晰,没有实际的例子)。
class Base {};
class DerivedBaseOne : public Base {};
class DerivedBaseTwo : public Base {};
class Derived : public DerivedBaseTwo, public DerivedBaseOne
{};
//somewhere in the code, is Base() called two times here?
Derived * foo = new Derived();
Base()
构造函数是否被调用了两次?构造函数是按什么顺序调用的呢?首先是基地?还是先用DerivedBaseOne()
或DerivedBaseTwo()
?
https://stackoverflow.com/questions/7405839
复制相似问题