Ciao a tutti ragazzi
ho un problemino :
ho un main che ha il seguente oggetto :
Ordinazione * o = new OrdinazioneDomicilio (1 ,2 , "panino " , "via roma ")
// 1 == codice , 2 == prezzo , "panino" == descrizione , "via roma" == domicilio ;
adesso io devo implementare il costruttore di
OrdinazioneDomicilio
le due classi si differenziano per un solo parametro , ovvero il domicilio ;
class Ordinazione
{
public :
Ordinazione (int _code = 0 , int _price = 0 , string _description = "NoDescription") : code (_code) , price (_price) , description (_description) {}
//(int _code = 0 , int _price = 0 , string _description = "NoDescription") : code (_code) , price (_price) , description (_description) {}
int getCode () const {return code ; }
int getPrice ()const {return price ; }
string getDescription () const {return description ; }
void setCode (int _code) { code = _code ; }
void setPrice (int _price ) { price = _price ;}
void setDescription (string _description ) { description = _description ; }
friend ostream & operator << (ostream & out , const Ordinazione & o )
{
out << o.code << " " << o.price << " " << o.description << "\n" ;
return out ;
}
protected :
int code ;
int price ;
string description ;
la classe OrdinazioneDomicilio eredita in modo pubblico da Ordinazione , il problema è che vorrei poter sfruttare il costruttore della classe madre per costruire l'oggetto della classe figlia .
come posso fare?
il primo pensiero era quello di rendere il costruttore virtuale puro ma il problema è che , credo , non si possa fare ;
ho provato anche a passare al costruttore di OrdinazioneDomicilio gli stessi parametri della classe madre ma riscontro degli errori in quanto non ho gli stessi parametri dichiarati all'interno della classe figlia (perchè dovrei farlo se sono già dichiarati all'interno della classe madre ? )
il che fa sorgere spontaneamente una domanda : devo dichiarare gli stessi parametri all'interno della classe figlia o c'è un'altra soluzione ?
mi rendo conto che il discorso è un po logorroico e ridondante ma confido nella vostra pazienza ;
grazie a chi risponderà