Skip to main content

Write a program to create a class named Employee_Info with data member Emp_Id and Emp_Name. Create another Class named Finance_Info from Employee_Info with data member Bas_sal and Ot_sal. Create an independent class Extra_allowances with data Member Tray_All, House_All and Dail_all. Now, derive another class named Total_Info from Finance_Info and Extra_allowances with data member Tot_sal. Make necessary function for the above and show the Gross Salary.

 Here's a program that implements the given problem statement:

#include <iostream>
#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.

Comments

Popular posts from this blog

Write a program using the algorithm count() to count how many elements in a container have a specified value.

 Here's an example program using the count() algorithm to count the number of occurrences of a specific value in a vector container: #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() {     vector<int> numbers = { 2, 5, 3, 7, 8, 5, 1, 5, 4 };          // count the number of occurrences of the value 5 in the vector     int count = count(numbers.begin(), numbers.end(), 5);          cout << "The number of occurrences of 5 in the vector is: " << count << endl;          return 0; } Output: The number of occurrences of 5 in the vector is: 3 Explanation: The program starts by creating a vector named numbers that contains several integer values. The count() algorithm is used to count the number of occurrences of the value 5 in the numbers vector. The function takes three arguments: the beginning and end iterators of...

write a program in C++ to overload '-' operator to find difference of two complex object.

write a program to overload '-' operator to find difference of two complex object /* program in C++ to overload '-' operator to find difference of two complex object */ #include<iostream> using namespace std; class Complex{     public:     float a, b;     complex(): a(0), b(0) {}     complex(float x, float y): a(x), b(y){}     void display(){          cout<<this->a<<"+"<<this->b<<"i"<<endl;     }     friend Complex operator-(const Complex&, const Complex&); }; complex operator-(const Complex& com, const Complex& comp){     float x= com.a - comp.a;     foat y= com.b - comp.b;     return Complex(x,y); } int main(){     Complex a(1,7), b(6,9);     cout<<"A = ";a.display();      cout<<"B = ";b.display();      cout<<"A - B = ";(a-b).display(); ...

what is static data member and static member function? how can we overload a function?

what is static data member and static member function? how can we overload a function? A static data member in C++ is a class variable that is shared among all objects of a class and is defined using the 'static' keyword. It has a single instance for the entire class, and its value is shared by all objects of that class. Unlike non-static class members, a static data member can be accessed without creating an instance of the class. A static member function in C++ is a member function of a class that can be called without creating an instance of the class. Like static data members, a static member function operates on the class as a whole rather than on individual objects. A static member function can only access static data members on other static member functions of the same class. To overload a function in C++, you create multiple functions with the same name but different parameter lists. The correct function to call is determined at compile-time based on the number and type...