c++ - 如何在 C++ 中同时使用默认和自定义复制构造函数?

标签 c++ constructor copy-constructor deep-copy shallow-copy

我有一个很长的类,里面有很多数据成员。我想为它写一个复制构造函数。但是,如果我编写自己的复制构造函数,我将无法访问默认复制构造函数。

我只想在我自己的拷贝构造函数中修复一些指针。所以我想要一个对象的浅拷贝,这可以由默认的拷贝构造函数完成。

当我有自己的复制构造函数时,是否有可能访问默认的复制构造函数?

最佳答案

将您不想更改的内容包装在结构中,并(私下)从中派生。在您的复制构造函数中,只需调用基类的复制构造函数。

关于c++ - 如何在 C++ 中同时使用默认和自定义复制构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12423058/

相关文章:

c++ - CArray 不会在内存重新分配时调用复制构造函数,现在怎么办?

c++ - Opencv mat截断所有双项

c++ - 其他人的代码似乎返回了一个不同的 ProcessorID

c++ - vector<unique_ptr<A>> 使用初始化列表

c++ - 这个构造函数是可以接受的做法吗?

c++ - 无法将此指针从 const Class<T> 转换为 Class<T>&

c++ - 串行端口接收线程未按预期运行 - C++

html - 使用命名空间的 C++ 到 HTML 转换

c# - 类的控件实例

java - Intellij 中构造函数的自动填充 stub 参数