[C con Clase] Sobrecarga de operadores
rodolfo rosso paz
rodolforossopaz en hotmail.com
Dom Jun 24 19:42:24 CEST 2007
Hola amigos.-
Revisando un ejercisio de Deitel, en el que una clase IntGrande, sobrecarga
algunos operadores, encontré lo siguiente:
Tiene un operador de conversión y una funcion de sobrecarga de operator+ :
IntGrande::IntGrande( const char *cadena )
{
// convierte una cadena de caracteres a un valor de tipo IntGrande
}
// operador de suma; IntGrande + IntGrande
IntGrande IntGrande::operator+( const IntGrande &op2 )
{
// suma dos valores de tipo IntGrande
}
Y ademas sobrecarga el operador suma invocando de manera explícita al
constructor
de conversión:
// IntGrande + cadena que representa un valor entero grande
IntGrande IntGrande::operator+( const char *op2 )
{
// convierte op2 en un IntGrande, e invoca a
// operator+ para dos objetos IntGrande
return *this + IntGrande( op2 );
} // fin del operador operator+
Pregunta: ¿ Si tengo ya una sobrecarga que suma dos IntGrandes. Necesito
acaso una sobrecarga que invoque de manera explícita al constructor de
conversión ?
No se supone que el compilador lo hace de manera automática, convirtiendo la
cadena
a IntGrande y luego sumándola con el otro IntGrande.
¿ Hay alguna razón en especial para esa sobrecarga explícita ?
¿ no siempre es segura la manera implícita ?
Tenganme paciencia, que Dios los bendiga
Rodolfo
_________________________________________________________________
MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
Más información sobre la lista de distribución Cconclase