Here's a program that implements the given problem statement:
#include <string>
using namespace std;
class Employee_Info {
protected:
int Emp_Id;
string Emp_Name;
public:
void set_emp_info(int id, string name) {
Emp_Id = id;
Emp_Name = name;
}
};
class Finance_Info : public Employee_Info {
protected:
float Bas_sal;
float Ot_sal;
public:
void set_finance_info(float basic, float overtime) {
Bas_sal = basic;
Ot_sal = overtime;
}
};
class Extra_allowances {
protected:
float Tray_All;
float House_All;
float Dail_all;
public:
void set_allowances(float tray, float house, float daily) {
Tray_All = tray;
House_All = house;
Dail_all = daily;
}
};
class Total_Info : public Finance_Info, public Extra_allowances {
private:
float Tot_sal;
public:
void calculate_salary() {
Tot_sal = Bas_sal + Ot_sal + Tray_All + House_All + Dail_all;
}
void display_salary() {
cout << "Employee ID: " << Emp_Id << endl;
cout << "Employee Name: " << Emp_Name << endl;
cout << "Gross Salary: " << Tot_sal << endl;
}
};
int main() {
Total_Info employee;
employee.set_emp_info(1001, "John Doe");
employee.set_finance_info(5000.00, 1000.00);
employee.set_allowances(500.00, 1000.00, 100.00);
employee.calculate_salary();
employee.display_salary();
return 0;
}
In this program, we have four classes:
Employee_Info with two data members Emp_Id and Emp_Name
Finance_Info derived from Employee_Info with two additional data members Bas_sal and Ot_sal
Extra_allowances with three data members Tray_All, House_All, and Dail_all
Total_Info derived from Finance_Info and Extra_allowances with an additional data member Tot_sal
We have also defined various member functions to set and get data members for each of these classes. In the main() function, we have created an object of Total_Info class, set values for all the data members using the member functions, calculated the gross salary using the calculate_salary() function, and displayed the employee information and gross salary using the display_salary() function.
No comments:
Post a Comment
If you have any doubts, please let me know