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.