我希望我继承的类具有相同的构造函数

I want my inherited class to have the same constructor

本文关键字:构造函数 继承 我希望      更新时间:2023-10-16

因为我的构造函数只是Ent::Ent(string InputID) { ID = InputID; }.

我希望对于继承该类的所有类都是相同的。

每个人都说构造函数与继承类的其他函数有所不同???

在 C++11 中,您可以使用 using 关键字将父类型的所有构造函数拉入派生类型中:

class A
{
public:
    A(int v) : value(v) { }
    int value;
};
class B : public A
{
public:
    using A::A;
};
int main() {
    B b = B(1);
    std::cout << b.value << std::endl;
    return 0;
}

(演示。

这将在 B 中创建一组继承构造函数,这些构造函数调用 in 中的相应构造函数A以初始化基对象。

您必须在每个派生类中执行此操作,但它比必须手动编写要"继承"的每个构造函数要好。