Employee inheritance

 avatar
SAT
c_cpp
4 months ago
1.6 kB
2
Indexable
#include <iostream>
#include <string>

using namespace std;

// Base class: Employee
class Employee {
protected:
    string name, add, mail;
    float id, mobile, basic;

public:
    void salary() {
        float da, hra, pf, cf, gross;
        da = basic * 97 / 100;
        hra = basic * 10 / 100;
        pf = basic * 12 / 100;
        cf = basic * 0.1f / 100;
        gross = basic + da + hra - pf - cf;

        cout << "Name: " << name << endl;
        cout << "Basic Salary: " << basic << endl;
        cout << "Gross Salary: " << gross << endl;
    }
};

// Derived class: Programmer
class Programmer : public Employee {
public:
    Programmer(string empName, int sal) {
        name = empName;
        basic = sal;
    }
};

// Derived class: TeamLead
class TeamLead : public Employee {
public:
    TeamLead(string empName, int sal) {
        name = empName;
        basic = sal;
    }
};

// Derived class: APM
class APM : public Employee {
public:
    APM(string empName, int sal) {
        name = empName;
        basic = sal;
    }
};

// Derived class: ProjectManager
class ProjectManager : public Employee {
public:
    ProjectManager(string empName, int sal) {
        name = empName;
        basic = sal;
    }
};

// Main function
int main() {
    Programmer p("Amar S Mohite", 60000);
    p.salary();

    TeamLead t("Sayali", 40000);
    t.salary();

    APM a("RAM", 70000);
    a.salary();

    ProjectManager pm("Abhay Joshi", 10000);
    pm.salary();

    return 0;
}
Editor is loading...
Leave a Comment