错误是在这里:“无法分配抽象类型的对象” 错误
vector<Graduate *> graduates;
graduates.push_back(new AliceUniversity(identifier,id,salary,average));
祖父类:
Graduate::Graduate(char identifier,
long id,
int salary,
double average)
: _identifier(identifier),
_id(id),_salary(salary),
_average(average)
{
}
父类:
UniversityGraduate::UniversityGraduate(char identifier,
long id,
int salary,
double average)
: Graduate(identifier,id,salary,average)
{
}
实际/子类:
AliceUniversity::AliceUniversity(char identifier,
long id,
int salary,
double average)
: UniversityGraduate(identifier,id,salary,average)
{
_graduateNum++;
_sumOfGrades += average;
_avrA = getAverage();
}
我知道这是一个长镜头,我不能写在这里的整个代码...
这不会做 - 发布实际代码,并在特定的地方声明纯虚函数(查找'= 0;')。 –
构造函数是完全不相关的,你应该发布声明 – lurscher