Как использовать виртуальную функцию для отображения переменных-членов класса - PullRequest
0 голосов
/ 21 апреля 2020

Я изучаю виртуальные функции в классе, и у меня возникают проблемы с этим. Я должен написать 2 класса. Первый класс, который является базовым классом, называется Employee и содержит следующую информацию:

empName (строка)

empNum (строка)

hireDate ( int, только год, когда сотрудник был принят на работу)

Второй класс называется ProductionWorker, и он является общедоступным из базового класса Employee.

часов (int)

payRate (double)

totalPay (double) (hours * payRate)

Мне нужно создать виртуальную функцию для отображения атрибуты каждого класса. Я запутался в том, как использовать виртуальные функции. Могу ли я сделать это, как в примере ниже? Функции get просто возвращают значение переменной-члена.

//Base class with virtual function
class Employee {
public:
   virtual void display () {
     cout << getEmpName() << endl;
     cout << getEmpNum() << endl;
     cout << getHireDate() << endl;
   };

И тогда в производном классе будет

//derived class
class ProductionWorker : public Employee {
public:
   void display() {
      cout << getHours() << endl;
      cout << getPayRate() << endl;
      cout << getTotalPay(hours, payRate) << endl;
   }

Поэтому, когда я вызываю виртуальную функцию display из базового класса Employee он должен вывести значения empName, empNum и hireDate. Затем, когда я вызываю функцию display из производного класса ProductionWorker, она должна вывести значения часов, payRate и totalPay.

Я правильно понял? Я прошу прощения за любую путаницу. Я знаком с новыми виртуальными функциями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...