首页 > 解决方案 > 当我们复制/分配派生类对象时,如何在继承中复制基类成员?

问题描述

我有以下情况:

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

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

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

标签: c++inheritancecopy-constructordeep-copyassignment-operator

解决方案


如何复制基类的成员

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


推荐阅读