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

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

我有以下场景:

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

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

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

最佳答案

How the members of base class will be copied

由于没有明确的复制构造函数,编译器将生成一个。它将依次为基类的数据成员调用/生成复制构造函数。最后,内置类型(intfloat、指针!etc 只是简单复制),具有复制构造函数的类型可以复制自身,任何其他类型将产生编译时错误。

关于c++ - 当我们复制/分配派生类对象时,如何在继承中复制基类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56041851/

相关文章:

c++ - 将 QAbstractModelList 的列表公开给 QML

c++ - 在 C++ 中比较两个不同的值

c++ - OpenGL重启场景

c++ - 数据类型的评估不同

c++ - 虚拟继承

java - 继承java

c++ - 生成有关使用复制构造函数和赋值的警告

c++ - 用模板实现派生类

c++ - 将禁用的复制构造函数置于私有(private)状态

c++ - 拷贝构造函数、深拷贝、常量引用