【问题标题】:C++: call cosntructor of base class in a derived class without a constructor [duplicate]C ++:在没有构造函数的派生类中调用基类的构造函数[重复]
【发布时间】:2020-09-22 09:42:46
【问题描述】:

我想围绕一个复杂的类A 做一个简单的包装器BA 有许多不同的构造函数。 B 类没有任何构造函数,那么如何自动将构造函数参数传递给基类A,而不需要在B 中全部实现呢?

这是我想做的一个简单示例:

class A
{
public:
   A(int a);
   A(const& A);
   // etc ...
};

class B : public A
{
   int b;
};

void main()
{
   B b(0);  // Since B does not have a constructor, I want it to dispatch to A::A(int)
}

注意:A 是某个包中的一个类,所以我不能简单地将我的 int b 添加到 A

【问题讨论】:

    标签: c++ inheritance constructor


    【解决方案1】:

    B,你可以继承 A的构造函数:

    class B : public A
    {
        using A::A;
        int b;
    };
    

    那么B b(0); 就可以了。

    【讨论】:

    • 这么简单,我自己应该能找到的。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 2016-07-19
    • 2018-07-16
    • 2018-07-21
    • 2020-11-28
    • 1970-01-01
    • 2014-11-17
    • 2014-11-27
    相关资源
    最近更新 更多