[C con Clase] Pregunta sobre un ejemplo del curso de sobrecarga de operadores...
Sorcerer
sorcerer.cl en gmail.com
Mar Ene 16 23:31:02 CET 2007
Hola la todos,
tengo una duda con el siguiente código:
Cadena &Cadena::operator=(const Cadena &c) {
if(this != &c) {
delete[] cadena;
if(c.cadena) {
cadena = new char[strlen(c.cadena)+1];
strcpy(cadena, c.cadena);
}
else cadena = NULL;
}
return *this;
}
que esta en: http://c.conclase.net/curso/index.php?cap=035
Lo que no entiendo es el motivo por el cual hacen que la función
retorne algo, y en que afecta eso. Yo probé dejandola de esta forma:
void cadena::operator=(const cadena &c) {
if(this != &c) {
delete[] cad;
if(c.cad) {
cad = new char[strlen(c.cad) + 1];
strcpy(cad, c.cad);
}
else cad = 0;
}
}
Y me funciona bien...
Usé el mismo código de los ejemplos, el de la class cadena.
Gracias por la ayuda :]
Más información sobre la lista de distribución Cconclase