Make Employee an abstract class. Declare salary() and display() as pure virtual functions in it. Derive salaried employee (monthly), hourly employee (per hour basis), and commissioned employee (bonus on completing each target) from base class Employee. The display() function should show employee no, employee name, and salary of all employees.Â
#include <iostream>
using namespace std;
class Employee{
  protected:
   string empName;
   string empNo;
   double sal;
  public:
    virtual double salary() = 0;
    virtual void display() = 0;
};
class SalariedEmployee:public Employee{
  public:
    double salary(){
      return sal;
    }
    void display(){
      cout<<"Employee name: "<<empName;
      cout<<"Employee number: "<<empNo;
      cout<<"Salary: "<<salary();
    }
};
class HourlyEmployee:public Employee{
  public:
    double salary(){
     return sal; Â
    }
    void display(){
      cout<<"Employee name: "<<empName;
      cout<<"Employee number: "<<empNo;
      cout<<"Salary: "<<salary();Â
    }
};
class CommissionedEmployee:public Employee{
  public:
    double salary(){
      return sal; Â
    }
    void display(){
      cout<<"Employee name: "<<empName;
      cout<<"Employee number: "<<empNo;
      cout<<"Salary: "<<salary();
    }
};
int main()
{
  return 0;
}
Comments
Leave a comment