编辑:baseObject
复制构造。
由于您尚未为 定义默认构造函数baseObject
,因此编译器无法在derivedObject
没有明确说明baseObject
要使用的构造函数的情况下构造 a 。
那么,在您的定义中derivedConstructor
,您将需要准确地指定baseObject
构造函数。由于我不知道你的baseObject
样子,我在下面使用了一个占位符:
derivedObject(const baseObject &base, const std::string &extra1)
: baseObject(PARAM1, PARAM2)
{
baseparameter1 = base.baseparameter1;
baseparameter2 = base.baseparameter2;
extraparameter1 = extra1;
}
在您的特定情况下,如果您尝试derivedObject
从baseObject
已经存在的 a 创建 a,则应定义baseObject
的复制构造函数,并执行以下操作:
derivedObject(const baseObject &base, const std::string &extra1)
: baseObject(base)
{
baseparameter1 = base.baseparameter1;
baseparameter2 = base.baseparameter2;
extraparameter1 = extra1;
}