danych składowych obiektu klasy Data: istream & operator» (istream i we, Data & d);
2. Modyfikacja i rozbudowa klasy Pracownik W klasie Pracownik wykonaj następujące czynności:
• Dodaj kolejne pole składowe: eonst int m_nIDZatrudnienia w części prywatnej klasy.
| Zmodyfikuj dane składowe tak aby mjpszlmie i mjpszNazwisko były wskaźnikami:
char * mjpszlmie; char * m_pszNazwisko;
• Utwórz konstruktor domyślny:
Pracownik (const char* im = const char * naz =
int dzień = 1, int miesiąc = 1, int rok = 2000);
Zainicjuj dane składowe. Rezygnacja z tablic o stałej długości wymaga wykorzystania operatorów new i delete. Pamiętaj o unikalnym identyfikatorze zatrudnienia, i W destruktorze umieść instrukcje zwalniające pamięć dla pól m_psz Imie i m pszNa zwisko.
• Zdefiniuj konstruktor kopiujący:
Pracownik(const Pracownik & wzór);
• Zdefiniuj operator przypisania dla klasy Pracownik:
Pracownik | operator=(const Pracownik & wzór);
• Zdefiniuj operator porównania w odniesieniu do klasy Pracowni k. bool operator==(const Pracownik | wzór) const;
funkcja ma zwracać true gdy dane składowe obiektów sąjednakowe, f alse w przeciwnym wypadku.
• Globalną, zaprzyjaźnioną z klasą Pracownik funkcję operatorową wstawiania do strumienia wyjściowego. Zadaniem tej funkcji jest wyprowadzenie informacji o danym pracowniku. Działanie funkcji przetestuj na strumieniach:
ostream | operator«(ostream | wy, const Pracownik & p) ;
• Globalną, zaprzyjaźnioną z klasą Pracownik funkcję operatorową pobierania ze strumienia wejściowego. Zadaniem tej funkcji jest podobnie jak funkcji Wpisz () wprowadzenie informacji do danych składowych obiektu klasy. Działanie funkcji przetestuj na strumieniach:
istream & operator»(istream & we, Pracownik & p);
• Zmodyfikuj pozostałe funkcje, gdzie występuje potrzeba zainicjowania lub zmiany składowych mjpszlmie lubmjpszNazwisko.
Po zdefiniowaniu w/w funkcji zmodyfikuj wcześniej opracowany interfejs.