[c++]Конструктор копирования
X& operator=(const X& val) { a = val.a; return *this; }
Работает!
МЕГАРЕСПЕКТ! =)
МЕГАРЕСПЕКТ! =)
Конструктор на то и конструктор, что вызывается только при конструировании нового объекта. Если б ты написал
X x2 = x1;
то другое дело.
X x2 = x1;
то другое дело.
Оставить комментарий
Slavaga
Ситуация:class X
{
public:
...
X(Const X& val) {a = val.a} //конструктор копирования
X operator=(const X& val) {return val} //перегружаем оператор присваивания
int a;
}
Тело основной программы
{
...
X x1;
X x2;
x1.a = 5;
x2.a = 0;
x2 = x1; //x2.a все равно остается 0
...
}
Что не так?