Ecco:
class Veicolo{
protected:
char* Nome;
private:
Veicolo(){ Nome=NULL;}
virtual~Veicolo(){}
};//classe astratta
class Auto public:Veicolo{
Auto(){ //non devo chiamare il costruttore di default :Veicolo() perché lo sto inizializzando io giusto?
Nome=new char[11];
strcpy(Nome,"Automobile");}
~Auto(){delete[]Nome;}// devo aggiungerlo qui perché la new sta nella classe derivata, corretto?
}