当我们复制/分配派生类对象时,如何在继承中复制基类成员?

时间:2019-05-08 13:22:21

标签: c++ inheritance copy-constructor deep-copy assignment-operator

我有以下情况:

我有一个Abstract基类 没有复制构造函数 没有赋值运算符 有一些数据成员

派生类(从上面的基类派生) 有赋值运算符 有一些数据成员

当我们将派生类对象复制到另一个现有派生类对象时,如何复制基类的成员。 我了解,因为我们为派生类定义了一个赋值运算符,它会复制派生类成员,但是将如何通过默认赋值运算符复制基类成员呢?

1 个答案:

答案 0 :(得分:3)

  

如何复制基类的成员

由于没有显式副本构造函数,因此编译器将生成一个。反过来,它将为基类的数据成员调用/生成副本构造函数。最后,内置类型(intfloat,指针! etc 被简单地复制),具有复制构造函数的类型可以复制自己,任何其他类型都会生成编译时间错误。