Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class osoba{
- string _n;
- int _w;
- public:
- osoba(){
- _n="Kowalski";_w=30;
- }
- osoba(string n,int w){
- _n=n;_w=w;
- }
- osoba(const osoba& o){
- _n=o._n;_w=o._w;
- }
- void pokaz(){
- cout<<"Nazwisko: "<<_n<<"\nWiek: "<<_w<<"\n";
- }
- string& nazwisko(){
- return _n;
- }
- const string& nazwisko()const{
- return _n;
- }
- int& liczba_lat(){
- return _w;
- }
- const int& liczba_lat()const{
- return _w;
- }
- };
- class pracownik:public osoba{
- string _s;double _z;
- public:
- pracownik(){
- _s="kursant";_z=500;
- }
- pracownik(string n,int w,string s,double z):osoba(n,w){
- _s=s;_z=z;
- }
- pracownik(const pracownik& p):osoba(p){
- _s=p._s;_z=p._z;
- }
- const double& placa()const{
- return _z;
- }
- void pokaz(){
- osoba::pokaz();
- cout<<"Stanowisko: "<<_s<<"\nPlaca: "<<_z<<"\n";
- }
- const string& stanowisko()const{
- return _s;
- }
- pracownik operator=(pracownik a){
- if(this!=&a){
- nazwisko()=a.nazwisko();
- liczba_lat()=a.liczba_lat();
- _s=a._s;_z=a._z;
- }
- return *this;
- }
- };
- int main()
- {
- osoba os("Dolas", 26);
- os.pokaz();
- const pracownik pr1("Dyzma", 35, "mistrz", 1250.0);
- cout << pr1.nazwisko() << pr1.liczba_lat();
- cout << pr1.stanowisko() << pr1.placa();
- pracownik pr2(pr1);
- pr2.pokaz();
- pracownik pr3("Kos", 45, "kierownik", 2260.0);
- pr3.pokaz();
- pr3 = pr2;
- pr3.pokaz();
- osoba* w = &os;
- w->pokaz();
- w = &pr3;
- w->pokaz();
- static_cast<pracownik*>(w)->pokaz();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement