Controlla il metodo getC().
Tu fai ritornare un carattere. Che carattere? L'undicesimo di un array di 10 elementi. Ricorda che in C (e C++ ovviamente) gli array sono indicizzati a partire da 0, quindi con un array di 10 elementi, l'ultimo è il 9.
codice:
char base::getC()
{
char tmp[10];
strcpy(tmp,c);
return tmp[9]; // Questo è il decimo elemento!
}
Se poi il tuo intento era quello di ritornare la stringa intera, allora dovrai modificare la firma e il codice in questo modo:
codice:
// Firma:
char[] getC();
// Codice:
char[] base::getC()
{
char tmp[10];
strcpy(tmp,c);
return tmp;
}
Ciao.