假设我有N个成员的课程。大多数成员都是可复制的。只有一个成员需要手动复制代码。
是否有方法以这样的方式编写复制赋值运算符,即我只为非标准成员编写代码,让编译器为所有/其他成员生成复制代码?
答案 0 :(得分:11)
是的,当然,使用用户定义的复制构造函数将您的成员包装在一个单独的类中。对于您正在讨论的类,不要编写用户定义的复制构造函数。
E.g。
class MyMemWrapper
{
define copy constructor
};
class MyClass
{
member 1;
member 2;
...
MyMemWrapper
};
答案 1 :(得分:1)
不,如果覆盖复制赋值运算符,编译器将不会生成默认的复制赋值运算符方法来复制标准成员,如您所愿。