class Employee
{
private:
string name;
double salary;
public:
Employee(const string& nm, double sal)
: name(nm), salary(sal) {}
string getName() const { return name; }
double getSalary() const { return salary; }
virtual double getBonus() const;
};
A Manager is particular "kind of" Employee.
Define Manager class as a derived class from the base class Employee:
class Manager : public Employee
{
private:
int level; // Something special for Managers, not regular Employees
public:
Manager(const string& nm, double sal, int lev)
: Employee(nm, sal), level(lev)
{}
virtual double getBonus() const;
int getLevel() const { return level; }
void setLevel(int lev) { level = lev; }
};