从派生类调用重载的基础构造函数

时间:2013-07-05 15:54:36

标签: c++ c++11

如果我理解正确,则始终使用创建派生类的对象来调用基类构造函数。有没有办法在创建派生对象时调用重载的基类构造函数?

1 个答案:

答案 0 :(得分:5)

是的,通过初始化列表:

class Base
{
public:
  Base (int n) : mN(n) {}
private:
  int mN;
};

class Derived : public Base
{
public:
  Derived() : Base (42) {};
         // ^^^^^^^^^^^    
         // Initialization List
};

有关初始化列表语法的更多信息,请参阅此问题:

What is this weird colon-member (" : ") syntax in the constructor?