Preguntas de programación de VC ++, domine cómo implementar clases derivadas de clases sobre la base de clases y domine la llamada de constructores y destructores en la herencia de clases. Te ruego que me agradezcas~~
Personas de clase
{
Público:
persona();
Persona(const char* nombre , int id, int género);
Virtual~persona();
Público:
nombre del conjunto vacío (const char * nombre);
const char * GetName()const;
void SetId(int id);
int GetId()const;
void set genero( int género);
int GetGender()const;
Privado:
char * nombre_;
int id_;
int género _;
};
Alumnos de la clase: figuras públicas
{
Público:
p>
persona();
Persona(const char* nombre, int id, int género, int grado);
~ Persona(); p>
Público:
int get calificación()const;
void set calificación(int calificación);
Privado:
int grado _;
};
Profesor de clase: figura pública
{
Público:
Profesor () ;
Profesor(const char* nombre, int id, int género, int techerAge);
~teacher();
Público:
int GetTeacherAge() const;
void SetTeacherAge(int edad);
Privado:
int teacherAge_;
};
// -
Persona::Persona(): nombre_(0), id_(0), género(1)
{
}
Persona::Persona(const char* nombre, int id, int género)
:Nombre_(nombre), DNI_(DNI ), género_(género)
{
int len = strlen(nombre);
nombre _ = nuevo char[len+1];
p>memcpy(nombre_, nombre, len+1);
}
Personal::~Personal()
{ STD ::salir & lt; =0? "Mujer":"Hombre";
if(nombre _)eliminar[]nombre _;
}
void Persona::establecer nombre(const char * nombre);
{
if(nombre _)eliminar[]nombre _;
int len = strlen(nombre)+1;
nombre _ = nuevo char[len];
memcpy(nombre_, nombre, len);
}
const char * Persona::GetName()const
{
Devolver nombre_;
}
persona vacía::SetId(int id)
{
id _ = id
}
int Persona::GetId() const
{
ID de retorno _;
}
void SetGender(int género)
{
género _ = género
}
int GetGender() const
{ p >
Devolver género_;
}
// -
Estudiante::Estudiante():Persona()
{
}
Estudiante::Estudiante(const char* nombre, int id, int género, int grado)
:Personal(nombre, id, Género) , grado_(gread)
{
}
Estudiante::~Estudiante()
{
}
int GetGrade() constante
{
return grade_;
}
Calificación de colección no válida ( int nota)
{
nota _ = nota;
}
// -
Profesor: :Profesor():persona()
{
}
Profesor::Profesor(const char * nombre, int id, int género, int techerAge)
: Personal (nombre, id, género), nivel técnico_(nivel técnico)
{
}
Profesor::~ Profesor()
{
}
int GetTecherAge() const
{
Tecnología de retorno_;
}
void SetTecherAge(entero)
{
teacherAge_ = edad;
}
// -
int main()
{
nombre de char[MAX _ PATH];
int id
int género;
{
STD::cout & lt; & lt"Ingrese el nombre, identificación y género de la persona (0: Mujer, 1: Hombre) : " STD::endl;
STD::CIN>>Nombre>& gtid>& gtGénero;
Personaje (nombre, DNI, sexo);
} p>
{
STD::cout <& ltIngrese el nombre del estudiante, cédula de identidad y sexo (0: femenino, 1: masculino), calificación: "& lt& ltSTD::endl;
int grade;
STD::CIN & gt; & gtname & gt& gtid & gt& gtgender & gt& gtLevel;
Estudiante estudiante (nombre, DNI , género, grado);
}
{
STD: :cout & lt;& ltIngrese el nombre del maestro, identificación, género (0: mujer, 1: masculino), nivel técnico: "& lt& ltSTD::endl;
int edad
Techer techer (nombre, DNI, sexo,
Edad);
}
Devuelve 0;
}