Переопределение функций приводит к ошибке нескольких определений - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь настроить базовый случай сотрудника и подклассы почасового / оплачиваемого / введенного в эксплуатацию сотрудника. Когда я пытаюсь скомпилировать, я получаю следующие ошибки:

HourlyEmployee.o: In function `getInfo()':
/cygdrive/d/HourlyEmployee.cpp:4: multiple definition of `func1()'
Employee.o:/cygdrive/d/subclass.cpp:4: first defined here
HourlyEmployee.o: In function `getEarning()':
/cygdrive/d/HourlyEmployee.cpp:9: multiple definition of `func2()'
Employee.o:/cygdrive/subclass.cpp:9: first defined here

Ниже приведен мой код, он очень прост, так как я просто пытаюсь настроить наследование / переопределение функций.

подкласс . cpp

#include "subclass.h"

string func1(/* arguments */) {
  /* code */
  return 0;
}

double func2(/* arguments */) {
  /* code */
  return 0;
}

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 28 февраля 2020

При определении функции-члена вам необходимо использовать нотацию ClassName::, т.е.

#include "HourlyEmployee.h"

string HourlyEmployee::getInfo(/* arguments */) {
  /* code */
  return 0;
}

double HourlyEmployee::getEarning(/* arguments */) {
  /* code */
  return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...