Advertisement
Guest User

afsdafasfasfasd

a guest
Dec 11th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. class osoba{
  4. string _n;
  5. int _w;
  6. public:
  7. osoba(){
  8. _n="Kowalski";_w=30;
  9. }
  10. osoba(string n,int w){
  11. _n=n;_w=w;
  12. }
  13. osoba(const osoba& o){
  14. _n=o._n;_w=o._w;
  15. }
  16. void pokaz(){
  17. cout<<"Nazwisko: "<<_n<<"\nWiek: "<<_w<<"\n";
  18. }
  19. string& nazwisko(){
  20. return _n;
  21. }
  22. const string& nazwisko()const{
  23. return _n;
  24. }
  25. int& liczba_lat(){
  26. return _w;
  27. }
  28. const int& liczba_lat()const{
  29. return _w;
  30. }
  31. };
  32. class pracownik:public osoba{
  33. string _s;double _z;
  34. public:
  35. pracownik(){
  36. _s="kursant";_z=500;
  37. }
  38. pracownik(string n,int w,string s,double z):osoba(n,w){
  39. _s=s;_z=z;
  40. }
  41. pracownik(const pracownik& p):osoba(p){
  42. _s=p._s;_z=p._z;
  43. }
  44. const double& placa()const{
  45. return _z;
  46. }
  47. void pokaz(){
  48. osoba::pokaz();
  49. cout<<"Stanowisko: "<<_s<<"\nPlaca: "<<_z<<"\n";
  50. }
  51. const string& stanowisko()const{
  52. return _s;
  53. }
  54. pracownik operator=(pracownik a){
  55. if(this!=&a){
  56. nazwisko()=a.nazwisko();
  57. liczba_lat()=a.liczba_lat();
  58. _s=a._s;_z=a._z;
  59. }
  60. return *this;
  61. }
  62. };
  63. int main()
  64. {
  65. osoba os("Dolas", 26);
  66. os.pokaz();
  67. const pracownik pr1("Dyzma", 35, "mistrz", 1250.0);
  68. cout << pr1.nazwisko() << pr1.liczba_lat();
  69. cout << pr1.stanowisko() << pr1.placa();
  70. pracownik pr2(pr1);
  71. pr2.pokaz();
  72. pracownik pr3("Kos", 45, "kierownik", 2260.0);
  73. pr3.pokaz();
  74. pr3 = pr2;
  75. pr3.pokaz();
  76. osoba* w = &os;
  77. w->pokaz();
  78. w = &pr3;
  79. w->pokaz();
  80. static_cast<pracownik*>(w)->pokaz();
  81.  
  82. return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement