c++ - 在创建派生类对象时将参数传递给基类构造函数

考虑两个类 AB

class A
{
public:
    A(int);
    ~A();
};

class B : public A
{
public:
    B(int);
    ~B();
};


int main()
{
    A* aobj;
    B* bobj = new B(5);    
}

现在类 B 继承自 A

我想创建一个B的对象。我知道创建派生类对象也会调用基类构造函数,但这是没有任何参数的默认构造函数。

我想要的是 B 接受一个参数(比如 5),并将其传递给 A 的构造函数。 请展示一些代码来演示这个概念。

最佳答案

使用基成员初始化:

class B : public A
{
public:
    B(int a) : A(a)
    {
    }
    ~B();
};

https://stackoverflow.com/questions/16585856/

相关文章:

c++ - 在 C/C++ 中从 TCP 套接字读取的正确方法是什么?

c++ - Emacs - 覆盖缩进

c++ - 我可以使用基于范围的 for 循环轻松迭代 map 的值吗?

c++ - 动态数组上基于范围的for循环?

c++ - range-for循环中的访问索引

c++ - 了解 double 到 int64_t 的转换

c++ - 为什么 std::get() 不能用于获取 vector 的成员?

c++ - 如何找到当前的系统时区?

c++ - openMP 嵌套并行 for 循环与内部并行 for

c++ - 在构造函数中调用类成员的构造函数