L'errore è qui: classe"Impossibile allocare un oggetto di tipo astratto" errore
vector<Graduate *> graduates;
graduates.push_back(new AliceUniversity(identifier,id,salary,average));
Nonni:
Graduate::Graduate(char identifier,
long id,
int salary,
double average)
: _identifier(identifier),
_id(id),_salary(salary),
_average(average)
{
}
classe padre:
UniversityGraduate::UniversityGraduate(char identifier,
long id,
int salary,
double average)
: Graduate(identifier,id,salary,average)
{
}
Actual classe/figlio:
AliceUniversity::AliceUniversity(char identifier,
long id,
int salary,
double average)
: UniversityGraduate(identifier,id,salary,average)
{
_graduateNum++;
_sumOfGrades += average;
_avrA = getAverage();
}
Lo so che è un campo lungo, non posso scrivere l'intero codice qui ...
Questo non ha intenzione di fare - postare codice reale, e in particolare luoghi in cui si dichiarano pure funzioni virtuali (cercate '= 0;'). –
i costruttori sono completamente irrilevanti, dovresti aver pubblicato le dichiarazioni – lurscher