【发布时间】:2019-10-09 08:30:24
【问题描述】:
我正在为工资报表编写一个程序,但当我执行此操作时,我遇到了这个奇怪的错误 纯病毒式继承。
我已经检查了我是否在基类或其他任何地方犯了错误,但我找不到。
基类:
class abrechnung {
public:
abrechnung(int periode, mitarbeiter& mitarbeiter);
virtual ~abrechnung();
int getPeriode();
mitarbeiter getMitarbeiter();
virtual double getVerdienst()=0;
std::string toString();
private:
int periode;
mitarbeiter arbeiter;
};
派生类:
class gehaltsAbrechnung: public abrechnung {
public:
gehaltsAbrechnung(int periode, mitarbeiter arbeiter, double gehalt);
virtual ~gehaltsAbrechnung();
double getVerdienst();
private:
double gehalt;
};
gehaltsAbrechnung::gehaltsAbrechnung(int periode, mitarbeiter arbeiter,
double gehalt): periode(periode), arbeiter(arbeiter), gehalt(gehalt) {}
意外的错误消息是:
no matching function for call to 'abrechnung::abrechnung()'
class 'gehaltsAbrechnung' does not have any field named 'periode'
class 'gehaltsAbrechnung' does not have any field named 'arbeiter'
我做错了什么,我该如何解决?
【问题讨论】:
-
你为什么要给阅读你代码的人设置两个障碍? 1)C++(没办法)。 2)德语(可整改)——编程的国际语言是英语;不管你喜不喜欢,这是一个事实。不要使用非英语名称让每个人都变得更难。
标签: c++ eclipse inheritance constructor