C++ 宣布';虚拟';c+中基类和派生类的构造函数+;?
也许这是一个很小的问题:我有一个基类B,它有一个具有许多(6+)参数的构造函数(它不稳定,将来可能会改变)。还有许多派生类继承自它,它们也有相同的构造函数签名,并且它们都只做基本类 所以问题是:有没有一种方法可以只在基类中声明一次,而不需要在派生类中声明?就像一个普通的虚函数C++ 宣布';虚拟';c+中基类和派生类的构造函数+;?,c++,c++11,inheritance,constructor,C++,C++11,Inheritance,Constructor,也许这是一个很小的问题:我有一个基类B,它有一个具有许多(6+)参数的构造函数(它不稳定,将来可能会改变)。还有许多派生类继承自它,它们也有相同的构造函数签名,并且它们都只做基本类 所以问题是:有没有一种方法可以只在基类中声明一次,而不需要在派生类中声明?就像一个普通的虚函数 我使用的是c++11。您可以继承所有基类构造函数: struct base { base(int, float, void*, bool, std::nullptr_t, std::size_t) { /* ...
我使用的是c++11。您可以继承所有基类构造函数:
struct base {
base(int, float, void*, bool, std::nullptr_t, std::size_t) { /* ... */ }
};
struct derived : base {
using base::base;
};
derived d(0,0.0f, nullptr, false, nullptr, 0);
您可以继承所有基类构造函数:
struct base {
base(int, float, void*, bool, std::nullptr_t, std::size_t) { /* ... */ }
};
struct derived : base {
using base::base;
};
derived d(0,0.0f, nullptr, false, nullptr, 0);
使用感谢@0x499602D2,这正是我想要的!使用感谢@0x499602D2,这正是我想要的!