Re[5]: Теория
От: Sergei  
Дата: 26.06.01 11:23
Оценка:
Здравствуйте Willi, вы писали:

W>Здравствуйте The Lex, вы писали:


TL>>Здравствуйте IT, вы писали:


IT>>>или объявляйте конструктор копирования и оператор присваивания


TL>>Кстати: кто-нибудь даст пример оператора присваивания? Нужно определять эти операторы для всех типов "слева" или они сами будут разбираться, кого куда переопределять?


W>class MyClass

W>{
W>public:
W> MyClass() {}
W> MyClass(const MyClass& src); // это конструктор копирования
W> MyClass& operator=(const MyClass& src); // это оператор присваивания

W> ...

W>};


W>MyClass c1;

W>MyClass c2(c1); // вызов конструктора копирования у с2
W>c1 = c2; // вызов оператора присваивания у с1

W>MyClass c3 = c2; // не уверен, но мне кажется тоже вызов конструктора копирования у с3

Если конструктор не объявлен как explicit то будет вызываться конструктор копии,
а если нет то оператор присваивания.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.