让例子是:
class Base {
Base (const Base & copyFrom) { globalRegister (* this); }
}
class Derived {
Derived (const Derived & copyFrom) : Base (copyFrom) {}
}
我已经阅读了将 Base 的复制构造函数包含在 Derived 的初始化列表中的建议,以便复制 Base 的属性(如示例中所示)。
但是,我有 Base 的复制构造函数将自身 (* this) 传递给其他对象(要向该对象注册)。那是不是我实际上必须在派生的复制构造函数的初始化列表上使用(隐式或显式)Base的(默认)构造函数,并且仅在派生的复制构造函数的主体中调用Base的复制构造函数,当实际上有一个对象时可以通过 Base 的复制构造函数附加?否则 - (* this) 是一个有效的对象吗?