Estas desreferenciando la cuenta que envias a 'IntercambiarSaldo', de forma que se duplican los datos y la operacion se hace solamente en el duplicado, no en que tienes en el main; dicho de otra forma, cuando envias una desreferencia de Chema se crea Chema_paralelo y las operaciones se hacen sobre ese y no sobre el original. Tienes que enviar un puntero a la cuenta para que trabaje sobre los datos que tienes en el ambito del main:
Código:
//el prototipo
void IntercambiarSaldo(CuentaBancaria *, long );
//la funcion
void CuentaBancaria::IntercambiarSaldo(CuentaBancaria *cuenta1, long cantidad) {
this->IngresarSaldo(cantidad);
cuenta1->SustraerSaldo(cantidad);
}
//y la llamada a la funcion
Jose.IntercambiarSaldo(&Chema, 1000);
Una cosa, la entrada a la aplicacion tiene que ser de tipo int y retornar un entero a modo de codigo de error (0 cuando todo ok):
Código:
int main() {
...
return 0;
}
Otra cosa, los tipos long pueden guardar datos hasta (+-)2147483647, este banco será para millonarios no? :)
Saludos
vosk