Red de conocimiento informático - Computadora portátil - Programación polimórfica en C++

Programación polimórfica en C++

#include

#include

usando el espacio de nombres std;

typedef enum {masculino, femenino} SEXO ;

clase humana

{

pública:

humana(char *nombre_humano,SEXO sexo_humano)

{

nombre = nuevo char[strlen(nombre_humano)+1];

strcpy(nombre,nombre_humano);

sexo=sexo_humano;

}

~human()

{

eliminar[] nombre;

}

virtual void out()

{

cout<<"Nombre:"<

cout<<"Género:"<< sexo<

}

protegido:

char *nombre;

SEXO sexo;

};

clase stu:virtual pública humana

{

pública:

stu(char *stu_name,SEX stu_sex,int stu_year ):humano(stu_name,stu_sex)

{

año=stu_year;

}

anular()

{

cout<<"Nombre:"<

cout<<"Género:"<

cout<<"Edad:"<

}

protegido:

int año;

};

clase cpc:virtual público humano

{

público:

cpc(char *cpc_name,SEX cpc_sex,int cpc_year):human(cpc_name,cpc_sex)

{

año=cpc_year;

}

anular()

{

cout<<"Nombre:"<

cout<<"Género:"<

cout<<"Edad del partido:"<

}

protegido:

int año;

}

clase stucpc: stucpc público, cpc público

{

público:

stucpc(char *stucpc_name,SEX stucpc_sex,int; stu_year ,int cpc_year,int stucpc_doc):

humano(stucpc_name,stucpc_sex),

stu(stucpc_name,stucpc_sex,stu_year),

cpc(stucpc_name, stucpc_sex ,cpc_year)

{

doc=stucpc_doc;

}

anular()

{

cout<<"Nombre:"<

cout<<"Género:"<

cout < <"Edad:"<

cout<<"Edad del partido:"<

cout< <" Número de archivo: "<

}

protegido:

int doc;

};

int main()

{

humano *p;

humano a("humano",masculino);

stu b("stu",mujer,18);

cpc c("cpc",hombre,3);

stucpc d("stucpc",mujer, 25, 7,133258);

p=&a;

p->out();

cout<

p =&b;

p->out();

cout<

p=&c;

p -> salida();

cout<

p=&d;

p->out();

cout<

devuelve 0;

}