在包含其他对象的类的副本构造函数中取消引用语法
||
假设类MyClass具有构造函数:
MyClass::MyClass( ... ) {
var = new OtherClass( ... );
}
并假设类OtherClass具有复制构造函数:
OtherClass::OtherClass(const OtherClass &obj) {
for (int i = 0; i < array_size; ++i) {
array[i] = obj.array[i];
}
}
下面是推荐的为MyClass编写副本构造函数的方法吗?
MyClass::MyClass(const MyClass &obj) {
var = new OtherClass(*obj.var);
}
我问是因为我无法找到上述副本构造函数使用的解引用语法的示例。
编辑:很抱歉,我在复制构造函数中留下了一个错字(在我尝试使代码示例抽象时引入):*obj.array
原本是*obj.var
。
没有找到相关结果
已邀请:
3 个回复
蓄荣糖些
更确切地说:
系漏
实际上是MyClass的成员并且是指向
的指针,我将写
骇毖煽洁铂
参考参数。 您不需要取消引用参考。将您的代码更改为: