Si se tiene la siguiente sobrecarga y constructores:
Cita:
Iniciado por Sobrecarga
Vector operator = (Vector v) { // L.6: función-operador
x = v.x * 10;
y = v.y * 10;
return *this; // L.9
}
x = v.x * 10;
y = v.y * 10;
return *this; // L.9
}
Cita:
Iniciado por Constructor por defecto
Vector(int i = 0, int j = 0) {
cout << "Creado un objeto (1)" << endl;
x = i; y = j;
}
cout << "Creado un objeto (1)" << endl;
x = i; y = j;
}
Cita:
Y los objetos en MAIN:
Iniciado por Constructor Copia
Vector(Vector& v) { // constructor-copia
cout << "Creado un objeto (2)" << endl;
x = v.x; y = v.y;
}
cout << "Creado un objeto (2)" << endl;
x = v.x; y = v.y;
}
Cita:
Y la operaciòn en MAIN:
Iniciado por Instanciaciòn
Vector v1, v2, v3;
Cita:
Pregunto:
Iniciado por Asignaciòn
v3 = v2 = v1;
1)Cuando se hace solamente v2 = v1, se inicia con la Sobrecarga del operador "=". ¿Es correcto lo siguiente?
v2 operator = (Vector v1)
2)¿En este punto, se debe instanciar nuevamente el objeto v1, haciendo uso del Constructor Copia, puesto que se tiene (Vector v1)?
¿O si no para que se utilizaria aqui el constructor copia?
Gracias por la ayuda.
El ejercicio es de la pagina:
http://www.zator.com/Cpp/E4_9_18a.htm
Con el tema: Una versiòn definitiva.