Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class Employee{
- protected:
- string name;
- float salary;
- public:
- Employee(string name, float salary){this->name = name; this->salary = salary;}
- virtual float calculateBonus(){return this->salary;}
- string getName(){return this->name;}
- };
- class Manager: public Employee{
- public:
- Manager(string name, float salary):Employee(name, salary){}
- float calculateBonus(){return this->salary+this->salary*.5;}
- };
- class SeniorManager: public Employee{
- public:
- SeniorManager(string name, float salary):Employee(name, salary){}
- float calculateBonus(){return this->salary+this->salary*.7;}
- };
- void printBonus(Employee *emp){
- cout<<emp->getName()<<"\t"<<emp->calculateBonus()<<endl;
- }
- int main(){
- Employee e("x", 100);
- Manager m("m", 200);
- SeniorManager sm("Sr.Mngr", 300);
- Employee *ep[3];
- ep[0] = &e;
- ep[1] = &m;
- ep[2] = &sm;
- for(int i=0; i<3; i++)
- printBonus(ep[i]);
- }
Advertisement
Add Comment
Please, Sign In to add comment