Предположим, что класс 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];
}
}
Isниже рекомендуемый способ написать конструктор копирования для MyClass?
MyClass::MyClass(const MyClass &obj) {
var = new OtherClass(*obj.var);
}
Я спрашиваю, потому что я не смог найти пример синтаксиса разыменования, который используется вышеупомянутым конструктором копирования.
Редактировать: Извините, я оставил опечатку в конструкторе копирования (представленном, пока я пытался сделать пример кода абстрактным): *obj.array
должен был быть *obj.var
.