Здравствуйте 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 то будет вызываться конструктор копии,
а если нет то оператор присваивания.