我有以下场景:
我有一个抽象基类 没有复制构造函数 无赋值运算符 有一些数据成员
一个派生类(派生自上面的基类) 有赋值运算符 有一些数据成员
当我们将派生类对象复制到另一个已存在的派生类对象时,基类的成员将如何被复制。 我理解,因为我们为派生类定义了一个赋值运算符,它复制派生类成员,但是如何复制基类成员,它会通过默认赋值运算符吗?
最佳答案
How the members of base class will be copied
由于没有明确的复制构造函数,编译器将生成一个。它将依次为基类的数据成员调用/生成复制构造函数。最后,内置类型(int
、float
、指针!etc 只是简单复制),具有复制构造函数的类型可以复制自身,任何其他类型将产生编译时错误。
关于c++ - 当我们复制/分配派生类对象时,如何在继承中复制基类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041851/