Exercise 13.3: Class
Exercise 13.3: Class
Here is the problem specification:
Write a class named Employee that has the following member variables:
- name. A string that holds the employee's name.
- idNumber. An int variable that holds the employee's ID number.
- department. A string that holds the name of the department where the employee works.
- position. A string that holds the employee's job title.
The class should have the following constructors:
- A constructor that accepts the following values as arguments and assigns them to the appropriate member variables: employee's name, employee's ID number, department, and position.
- A constructor that accepts the following values as arguments and assigns them to the appropriate member variables: employee's name and ID number. The department and position fields should be assigned an empty string ("").
- A default constructor that assigns empty strings ("") to the name, department, and position member variables, and 0 to the idNumber member variable.
Write appropriate mutator functions that store values in these member variables and accessor functions that return the values in these member variables. Once you have written the class, write a separate program that creates three Employee objects to hold the following data using the above 3 constructors (first constructor for first name, 2nd constructor for 2nd name and 3rd constructor for 3rd name).
NameID NumberDepartmentPositionPaul Rogers | 12345 | Accounting | Vice President |
John Reid | 34567 | IT | Programmer |
Peter Meyers | 47899 | Manufacturing | Engineer |
The program should store this data in the three objects and then display the data for each employee on the screen.
Sample Run
Name: Paul Rogers
ID Number: 12345
Department: Accounting
Position: Vice President
Name: John Reid
ID Number: 34567
Department: IT
Position: Programmer
Name: Peter Meyers
ID Number: 47899
Department: Manufacturing
Position: Engineer
#include <iostream>
#include <string>
using namespace std;
class Employee {
public:
// constructors
Employee(string name, int idNumber, string department, string position);
Employee(string name, int idNumber);
Employee();
// getters
const string GetName();
const int GetIdNumber();
const string GetDepartment();
const string GetPosition();
// setters
void SetName(string name);
void SetIdNumber(int idNumber);
void SetDepartment(string department);
void SetPosition(string position);
private:
string name;
int idNumber;
string department;
string position;
};
Employee::Employee(string name, int idNumber, string department, string position) {
this->name = name;
this->idNumber = idNumber;
this->department = department;
this->position = position;
}
Employee::Employee(string name, int idNumber) {
this->name = name;
this->idNumber = idNumber;
this->department = "";
this->position = "";
}
Employee::Employee() {
name = "";
idNumber = 0;
department = "";
position = "";
}
const string Employee::GetName() {
return name;
}
const int Employee::GetIdNumber() {
return idNumber;
}
const string Employee::GetDepartment() {
return department;
}
const string Employee::GetPosition() {
return position;
}
void Employee::SetName(string name) {
this->name = name;
}
void Employee::SetIdNumber(int idNumber) {
this->idNumber = idNumber;
}
void Employee::SetDepartment(string department) {
this->department = department;
}
void Employee::SetPosition(string position) {
this->position = position;
}
void printEmployeeInfo(Employee employee) {
cout << "Name: " << employee.GetName() << endl;
cout << "ID Number: " << employee.GetIdNumber() << endl;
cout << "Department: " << employee.GetDepartment() << endl;
cout << "Position: " << employee.GetPosition() << endl << endl;
}
int main()
{
Employee employee1 = Employee("Paul Rogers", 12345, "Accounting", "Vice
President");
Employee employee2 = Employee("John Reid", 34567);
employee2.SetDepartment("IT");
employee2.SetPosition("Programmer");
Employee employee3 = Employee();
employee3.SetName("Peter Meyers");
employee3.SetIdNumber(47899);
employee3.SetDepartment("Manufacturing");
employee3.SetPosition("Engineer");
printEmployeeInfo(employee1);
printEmployeeInfo(employee2);
printEmployeeInfo(employee3);
return 0;
}