error está aquí: Clase"No se puede asignar un objeto de tipo abstracto" error
vector<Graduate *> graduates;
graduates.push_back(new AliceUniversity(identifier,id,salary,average));
Abuelos:
Graduate::Graduate(char identifier,
long id,
int salary,
double average)
: _identifier(identifier),
_id(id),_salary(salary),
_average(average)
{
}
clase de Padres:
UniversityGraduate::UniversityGraduate(char identifier,
long id,
int salary,
double average)
: Graduate(identifier,id,salary,average)
{
}
real de clase/niño:
AliceUniversity::AliceUniversity(char identifier,
long id,
int salary,
double average)
: UniversityGraduate(identifier,id,salary,average)
{
_graduateNum++;
_sumOfGrades += average;
_avrA = getAverage();
}
Sé que es una posibilidad muy remota, yo puedo escribir el código completo aquí ...
Esto no va a hacer: publicar código real, y en lugares específicos donde declaras funciones virtuales puras (busca '= 0;'). –
los constructores son completamente irrelevantes, debería haber publicado las declaraciones – lurscher