/* Poprawiał : CEZARY PRZYWUSKI ID212 Zmiany w pliku w liniach 76 - 86 */ class elem { public: elem (); virtual ~ elem (); public: inline elem * get_next () { return pnext; } elem *set_next (elem * ael); elem *insert_after (elem * ael); virtual void print () { if (pnext) pnext->print (); } inline elem *invert (elem * new_pnext = 0) { elem *old_pnext = pnext; pnext = new_pnext; if (old_pnext) return old_pnext->invert (this); else return this; } int id ; private: elem * pnext; }; class elem_int:public elem { public: elem_int (int val = 0) { my_val = val; cout << "kontruktor elem_int, ustawiona wartosc: " << my_val << endl; } ~elem_int () { cout << "destruktor elem_int, przechowywana wartosc: " << my_val << endl; } public: int set_val (int val) { return my_val = val; } int get_val () { return my_val; } void print () { cout << my_val << endl; elem::print (); } private: int my_val; }; class elem_str:public elem { public: elem_str (char *val = 0); ~elem_str (); void print () { cout << my_val << endl; elem::print (); } int show_id() { return id;} /* Przeciążenie operatora przyrównania */ const elem_str &operator = ( const elem_str &prawy) ; /* Jakoś musiałem to poindeskować */ int id; /*fuszerka i wogole nieszczescie */ /* Preciążenie operatora tabliocwego */ elem_str &elem_str::operator[](int indeks); private: char *my_val; }; class elem_float:public elem { public: elem_float (float val = 0) { my_val = val; cout << "kontruktor elem_float, ustawiona wartosc: " << my_val << endl; } ~elem_float () { cout << "destruktor elem_float, przechowywana wartosc: " << my_val << endl; } public: float set_val (float val) { return my_val = val; } float get_val () { return my_val; } void print () { cout << my_val << endl; elem::print (); } private: float my_val; };