카테고리 없음

Exercise 13.3: Class

07514673 2021. 12. 20. 14:52

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 NumberDepartmentPosition
Paul 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;
}