Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 宣布';虚拟';c+中基类和派生类的构造函数+;?_C++_C++11_Inheritance_Constructor - Fatal编程技术网

C++ 宣布';虚拟';c+中基类和派生类的构造函数+;?

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) { /* ...

也许这是一个很小的问题:我有一个基类B,它有一个具有许多(6+)参数的构造函数(它不稳定,将来可能会改变)。还有许多派生类继承自它,它们也有相同的构造函数签名,并且它们都只做基本类

所以问题是:有没有一种方法可以只在基类中声明一次,而不需要在派生类中声明?就像一个普通的虚函数


我使用的是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,这正是我想要的!