#include #include using namespace std; class Personel { public: Personel( const char* _nazwisko, short _biuro = 0); ~Personel() {delete [] nazwisko;} void print() const; void set_biuro( short _biuro ) { biuro = _biuro; } const char* get_telefon() const; private: char* nazwisko; short biuro; }; Personel::Personel(const char* _nazwisko, short _biuro) : biuro(_biuro) { nazwisko = new char [ strlen( _nazwisko) + 1 ]; strcpy( nazwisko, _nazwisko); } void Personel::print() const { cout << "Pracownik " << nazwisko << " :" << endl; cout << "biuro = " << biuro << "' " << "tel. = " << get_telefon() << endl; } const char* Personel::get_telefon() const { static const char* tel[] = {"0000", "1111", "2222", "3333", "4444"}; return tel[ biuro ]; } class Pracownik : public Personel { public: Pracownik( const char* _nazwisko, int _biuro = 0, float _stawka = 0.0, float _godziny = 0); void print() const; void set_stawka( float _stawka ) { stawka = _stawka; } void set_godziny( float _godziny) { godziny = _godziny; } float oblicz_place() const; private: float stawka; float godziny; }; Pracownik::Pracownik(const char *_nazwisko, int _biuro, float _stawka, float _godziny) : Personel(_nazwisko, _biuro), stawka( _stawka ), godziny( _godziny ) {} void Pracownik::print() const{ Personel::print(); cout << "stawka godzinowa = " << stawka << ", " << "lLiczba przepracowanych godzin = " << godziny << endl; } float Pracownik::oblicz_place() const { return stawka * godziny; } int main() { Personel pl("Kowalski", 2); pl.print(); pl.set_biuro( 4 ); pl.print(); Pracownik el("Malinowksi", 3, 70.0, 169.0 ); el.print(); el.set_biuro( 4 ); el.set_stawka( 75.0 ); el.print(); return 0; }