[c++]Конструктор копирования

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
...
}
Что не так?

Weelloy

X& operator=(const X& val) { a = val.a; return *this; }

Slavaga

Работает!
МЕГАРЕСПЕКТ! =)

Papazyan

Конструктор на то и конструктор, что вызывается только при конструировании нового объекта. Если б ты написал
X x2 = x1;
то другое дело.
Оставить комментарий
Имя или ник:
Комментарий: