我想知道如何从派生类中使用复制构造函数和赋值运算符。似乎关于这个问题的所有其他问题都涉及基类也有自己的赋值运算符,我的基类是不允许的。
有问题的成员函数是:
SpecialOrder&安培; operator =(const SPecialOrder& source)
答案 0 :(得分:1)
您需要以某种方式处理复制基类成员。
标准方法是在派生类中调用基类赋值运算符,例如Order::operator=(source);
(Order::Order(source);
不正确,实际上你的编译器应该告诉你,你不能在已经创建的对象上调用构造函数。)
您的另一个选择是使用基类的public / protected方法来尝试设置状态,但是如果您无法访问基类赋值运算符或复制构造函数,或者它们未被定义/删除,则很可能从来没有打算复制基类。