Originariamente inviato da Arpyone
ho modificato il metodo in questo modo
...
sizeof(pNome) ti restituirà la dimensione del tipo di dato pNome. Dato che pNome è un puntatore a 32 bit, a prescindere dalla lunghezza della stringa puntata, avrai sempre 4 come risultato. Copiando un nome di più di 4 caratteri avrai un buffer overflow (con risultati imprevedibili, nella migliore delle ipotesi, un crash).

Per ottenere la lunghezza della stringa, devi usare la funzione strlen ... sarà quindi

codice:
void Nominativo::setNome(char* pNome)
{
    nome = new char[strlen(pNome)+1];
    strcpy(nome, pNome);
}