Código fuente original
# include & ltiostream & gt
# include & ltstring& gt
Usar espacio de nombres std
Clase CData
{
Protegido:
Nombre de cadena;
Público:
Impresión virtual vacía ()
{
cout & lt& lt"name:" & lt& ltname& lt& ltendl
}
};
Clase de profesor: CData público virtual
{//Hay muchas herencias, así que utilice la herencia virtual.
Protegido:
int sal
Público:
void print()
{
CData::print();
cout & lt& ltsal:“& lt& ltsal & lt& ltendl
}
};
Clase de estudiante: datos públicos virtuales
{
Protegido:
Id. de cadena;
Público:
Void print()
{
CData::print();
cout & lt& lt" ID:" & lt ;& ltid & lt& ltendl
}
};
Clase de posgrado: estudiantes de escuelas públicas
{
Protegido: p>
Cadena dn;
Público:
void print()
{
c estudiante::print() ;
cout & lt& ltDN:“& lt;& ltdn & lt& ltendl
}
};
Maestros públicos, público estudiantes de posgrado
{
Público:
Void print()
{//Para no duplicar el nombre de salida, solo el Aquí se llama a la impresión de los estudiantes de posgrado, y luego los salarios de los maestros se generan por separado.
CPostgrad::print();
cout & lt& ltsal: "& lt& ltsal & lt& ltendl
}
};