#include #include #include using namespace std; class BauTeil { private: string bezeichnung; float masse; public: BauTeil(string b, float m); virtual string toString(); }; class KaufTeil : public BauTeil { private: string zulieferer; float preis; public: KaufTeil(string b, float m, string z, float p); virtual string toString(); }; class FertigungsTeil : public BauTeil { private: int durchlaufzeit; public: FertigungsTeil(string b, float m, int d); virtual string toString(); }; BauTeil::BauTeil(string b, float m) { bezeichnung = b; masse = m; } string BauTeil::toString() { stringstream stst; stst << "Teil : " << bezeichnung << ", " << masse; return stst.str(); } KaufTeil::KaufTeil(string b, float m, string z, float p) : BauTeil(b,m) { zulieferer = z; preis = p; } string KaufTeil::toString() { stringstream stst; stst << "Kauf" << BauTeil::toString() << ", " << zulieferer << ", " << preis; return stst.str(); } FertigungsTeil::FertigungsTeil(string b, float m, int d) : BauTeil(b,m) { durchlaufzeit = d; } string FertigungsTeil::toString() { stringstream stst; stst << "Fertigungs" << BauTeil::toString() << ", " << durchlaufzeit; return stst.str(); } int main() { BauTeil* b[3]; b[0] = new KaufTeil("Getriebe",122.5,"Laios und Sohn",99.99); b[1] = new FertigungsTeil("Motor",407.00,4); b[2] = new KaufTeil("Vergaser",72.00,"Daidalos und Sohn",49.99); for (int i=0 ; i < 3 ; i++) cout << b[i]->toString() << endl; return 0; }