Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class Person{
- public:
- Person(string wname = 0, string wsurname = 0){
- name = wname;
- surname = wsurname;
- }
- virtual void setSalary(int sal){
- salary = sal;
- }
- virtual void getSalary(){
- cout << "Salary : " << salary;
- if (salary){
- cout << "Salary with prize " << prize << "% :" << double(salary * prize / 100);
- }
- }
- virtual void setPrize(int pr){
- prize = pr;
- }
- virtual void getWorkingdays(){
- cout << "Mn, Tu, Wd, Th, Fr,";
- }
- private:
- string name, surname;
- int prize;
- int salary;
- };
- class Builder :public Person{
- public:
- Builder(string wname, string wsurname) :Person(wname, wsurname){}
- virtual void getSalary();
- virtual void setPrize(int sal);
- virtual void setSalary(int pr);
- virtual void getWorkingdays(){
- cout << "Mn, Tu, Wd, Fr, St, Su";
- }
- };
- class Foreman :public Person{
- public:
- Foreman(string wname, string wsurname) :Person(wname, wsurname){}
- virtual void setSalary(int sal);
- virtual void getSalary();
- virtual void setPrize(int pr);
- virtual void getWorkingdays(){
- cout << "Mn, Wd, St";
- }
- };
- class Crane :public Person{
- public:
- Crane(string wname, string wsurname) :Person(wname, wsurname){}
- virtual void setSalary(int sal);
- virtual void getSalary();
- virtual void setPrize(int pr);
- virtual void getWorkingdays(){
- cout << "Mn, Wd, St";
- }
- };
- int main(){
- Builder x("Vasya", "Popkin");
- Foreman y("Petya", "Jopkin");
- Crane z("Goga", "Petrov");
- x.getSalary();
- y.getSalary();
- z.getSalary();
- int x_s = 45000;
- int y_s = 60000;
- int z_s = 51000;
- x.setPrize(x_s);
- y.setPrize(y_s);
- z.setPrize(z_s);
- x.getSalary();
- y.getSalary();
- z.getSalary();
- x.setPrize(20);
- y.setPrize(35);
- z.setPrize(50);
- x.getSalary();
- y.getSalary();
- z.getSalary();
- x.getWorkingdays();
- y.getWorkingdays();
- z.getWorkingdays();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement