Advertisement
Guest User

Untitled

a guest
May 25th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.94 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. class Person{
  7. public:
  8.     Person(string wname = 0, string wsurname = 0){
  9.         name = wname;
  10.         surname = wsurname;
  11.     }
  12.  
  13.     virtual void setSalary(int sal){
  14.         salary = sal;
  15.     }
  16.  
  17.     virtual void getSalary(){
  18.         cout << "Salary : " << salary;
  19.         if (salary){
  20.             cout << "Salary with prize " << prize << "% :" << double(salary * prize / 100);
  21.         }
  22.     }
  23.  
  24.     virtual void setPrize(int pr){
  25.         prize = pr;
  26.     }
  27.     virtual void getWorkingdays(){
  28.         cout << "Mn, Tu, Wd, Th, Fr,";
  29.     }
  30.  
  31. private:
  32.     string name, surname;
  33.     int prize;
  34.     int salary;
  35. };
  36.  
  37. class Builder :public Person{
  38. public:
  39.     Builder(string wname, string wsurname) :Person(wname, wsurname){}
  40.  
  41.     virtual void getSalary();
  42.     virtual void setPrize(int sal);
  43.     virtual void setSalary(int pr);
  44.  
  45.     virtual void getWorkingdays(){
  46.         cout << "Mn, Tu, Wd, Fr, St, Su";
  47.     }
  48. };
  49.  
  50. class Foreman :public Person{
  51. public:
  52.     Foreman(string wname, string wsurname) :Person(wname, wsurname){}
  53.     virtual void setSalary(int sal);
  54.     virtual void getSalary();
  55.     virtual void setPrize(int pr);
  56.  
  57.     virtual void getWorkingdays(){
  58.         cout << "Mn, Wd, St";
  59.     }
  60. };
  61.  
  62. class Crane :public Person{
  63. public:
  64.     Crane(string wname, string wsurname) :Person(wname, wsurname){}
  65.     virtual void setSalary(int sal);
  66.     virtual void getSalary();
  67.     virtual void setPrize(int pr);
  68.  
  69.     virtual void getWorkingdays(){
  70.         cout << "Mn, Wd, St";
  71.     }
  72. };
  73.  
  74.  
  75. int main(){
  76.  
  77.     Builder x("Vasya", "Popkin");
  78.     Foreman y("Petya", "Jopkin");
  79.     Crane z("Goga", "Petrov");
  80.  
  81.     x.getSalary();
  82.     y.getSalary();
  83.     z.getSalary();
  84.  
  85.     int x_s = 45000;
  86.     int y_s = 60000;
  87.     int z_s = 51000;
  88.  
  89.     x.setPrize(x_s);
  90.     y.setPrize(y_s);
  91.     z.setPrize(z_s);
  92.  
  93.     x.getSalary();
  94.     y.getSalary();
  95.     z.getSalary();
  96.  
  97.     x.setPrize(20);
  98.     y.setPrize(35);
  99.     z.setPrize(50);
  100.  
  101.     x.getSalary();
  102.     y.getSalary();
  103.     z.getSalary();
  104.  
  105.     x.getWorkingdays();
  106.     y.getWorkingdays();
  107.     z.getWorkingdays();
  108.  
  109.  
  110.     system("pause");
  111.     return 0;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement