Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/11/2008, 04:41
Avatar de r0d
r0d
 
Fecha de Ingreso: noviembre-2007
Mensajes: 86
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: sobrecargas y tal

Buenos dias,

para sobrecargar una funcion, las firmas que cada una tiene que ser distinta. Y el tipo que devuelve la funcion no es parte de la firma. Por ejemplo:

Código:
int UnaFuncion();
char* UnaFuncion(); // => error, la firma es igual
Para obtener una firma distinta, 2 maneras:
1. una diferencia en los paramtros de las funciones. Por ejemplo:
Código:
int UnaFuncion();
int UnaFuncion( int unNumero );
int UnaFuncion( int unNumero, int unOtroNumero);
// etc...
2. utilizar un modificator de función distinto. Por ejemplo:
Código:
int UnaFuncion();
int UnaFuncion() const;
En tu caso, no se cual seria la mejor solucion, pero ya puedes hacer esto (que seria mucho mucho mejor que lo que estas haciendo ahora):
Código:
void Imprimir(); // solo muestra
void Imprimir( std::string & texto); // muestra y asigna el texto en el parametro 'texto'
La secunda version de Imprimir toma una string en parametro y la rellena. Pasando la string por referencia, ganas tiempo al ejecucion, y a ademas respeta un metedo de desarollo muy famoso y comodo (RAII) que asegura una gestion correcta de memoria.

Hope it helps.