Puoi partire da qualcosa come questo.
codice:// Interfaccia pura astratta class Elettrodomestico { public: elettrodomestico(){}; virtual ~elettrodomestico(){}; virtual string getTipo() const=0; virtual int getConsumo() const=0; virtual int getPrezzo()cont= 0; }; // Classe dedicata allo storage dei dati. class ElettrodomesticoDataType : public Elettrodomestico { protected: string tipo; //lavatrice, aspirapolvere.... int energia_Kw; //consumo int prezzo; }; // Classe concreta di implementazione. class Lavatrice : public ElettrodomesticoDataType { public: Lavatrice() {const int& consumo, const int& prz) { tipo = "Lavatrice"; energia_Kw = consumo; prezzo = prz; } ~Lavatrice() {} string getTipo() const { return tipo; } int getConsumo() const { return energia_Kw; } int getPrezzo() const { return prezzo; } }; typedef std::shared_ptr<Elettrodomestico> SPElettrodomestico; int main (void) { std::vector<SPElettrodomestico> Elettrodomestici; Elettrodomestici.push_back(SPElettrodomestico(new Lavatrice(250, 3000))); cout << Elettrodomestici[0]->getTipo() << "; "; cout << Elettrodomestici[0]->getConsumo() << "; "; cout << Elettrodomestici[0]->getPrezzo() << endl; }

Rispondi quotando