我希望我继承的类具有相同的构造函数
I want my inherited class to have the same constructor
因为我的构造函数只是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
以初始化基对象。
您必须在每个派生类中执行此操作,但它比必须手动编写要"继承"的每个构造函数要好。
相关文章:
- 具有相同名称的类的构造函数继承
- 多复制构造函数继承中的惊人行为
- CRTP 和复制/移动赋值/构造函数继承
- 复制构造函数继承动态分配的数组
- 无法从 c++ 中的构造函数继承
- 在构造函数继承中使用默认构造函数
- 构造函数继承和直接成员初始化
- C++ - 使用私有参数的构造函数继承
- 通过可变参数模板进行C++11构造函数继承
- C++11构造函数继承和不带参数的构造函数
- C++11 - 构造函数继承
- C++构造函数继承
- 使用 C++11 编译器的构造函数继承正在生成错误
- 选择性构造函数继承"Ambiguous resolution"错误
- 什么是构造函数继承
- C++对象中的构造函数继承与方法继承
- C++构造函数继承没有匹配的函数
- C++构造函数继承(从派生类调用构造函数)
- 模板构造函数继承的标准符合语法是什么
- C++构造函数继承错误