如何编写具有多继承的复制构造函数?多继承,复制构造函数和基类的初始化?
B1
和B2
继承D
继承链中没有钻石。我需要写一个拷贝构造函数中D
使得它调用的B1
和B2
拷贝构造函数我想避免在这里写clone()
如何编写具有多继承的复制构造函数?多继承,复制构造函数和基类的初始化?
B1
和B2
继承D
继承链中没有钻石。我需要写一个拷贝构造函数中D
使得它调用的B1
和B2
拷贝构造函数我想避免在这里写clone()
有什么问题的经典方法:
D(const D& other) : B1(other), B2(other)
{
}
?
谢谢,我认为这是行不通的。其实我被困在别的地方。并认为这是问题 –
@DiproSen - 只要没有基地是虚拟的,这工作正常。但是,虚拟基础是从构造函数初始化为最大派生类型的。相同的语法,但你必须把它放到每个可能被实例化的派生类型中。 –
你为什么要写*这样的复制构造函数? – curiousguy