我可以std ::绑定一个基类'构造函数,以便派生不需要显式调用它?

时间:2013-08-18 16:57:21

标签: c++ inheritance constructor stdbind

我有一个抽象基类,需要将一些对象传递给它的构造函数来初始化它的成员。但我想摆脱通过派生类构造函数传递这些对象。

class Derived : public Base
{
public:
    Derived(type one, type two, type three) : Base(one, two, three)
    {
        // ...

传递给基类的对象与所有已创建的派生类的实例相同。有没有办法将它们绑定到基类的构造函数,这样我就不必通过派生类的构造函数转发它们了?

// do some magic
// ...

class Derived : public Base
{
    // no need for an explicit constructor anymore
    // ...

1 个答案:

答案 0 :(得分:1)

在C ++ 11中,您可以将构造函数继承到基类。看来这大致可以满足您的需求:

class derived
    : public base {
public:
    using base::base;
    // ...
};