C/Visual C - Como sobrecargar el = ?

 
Vista:

Como sobrecargar el = ?

Publicado por Oliver Ramirez (12 intervenciones) el 29/07/2002 01:02:13
si tengo dos objetos instanciados dinamicamente y en mi programa tengo los dos punteros a estos objetos, como debo sobrecargar el = para poder hacer la siguiente asignacion:
objeto1 = objeto2;

y que el compilador entienda que lo que quiero es igualar los objetos no los punteros?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como sobrecargar el = ?

Publicado por ju4n1t0 (9 intervenciones) el 29/07/2002 05:08:37
Debes declarar algo así:
TuClase *TuClase::operator=(const Tuclase *Puntero)
{
if (*Puntero != this)
{
// Esto lo haces igual con todos los miembros que quieras cambiar
TuClase.Miembro = Puntero->Miembro;
}
else
cout << "Autoasignacion" << endl;
return *this;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como sobrecargar el = ?

Publicado por chuidiang (677 intervenciones) el 29/07/2002 09:47:46
Si a y b son dos punteros, la llamada al operator = puedes hacerla de dos formas:

a->operator = (*b);

o bien, más sencillo

*a = *b;

Efectivamente, si haces

a = b;

estás asignando los punteros.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar