C/Visual C - Problemas con los metodos virtuales

 
Vista:

Problemas con los metodos virtuales

Publicado por esr (1 intervención) el 19/02/2005 14:16:40
Hola, estoi programando un codigo de c++ con clases heredadas y metodos virtuales y al hacer un buffer de un puntero padre apuntando al hijo , cunado intento acceder a uno de los metodos virtuales me da un error en la proteccion de memoria.utilizo visual c++ y borlan c++ 4.5 y el codigo es este:

#include <iostream.h>
class padre{
int x;
public:
padre(){
x=0;
}
virtual void imprimir(){ cout << \"Padre \"<< x << \"\\n\";}
void intro(int c){
x=c;
cout << x;
}
};

class hijo:public padre{
int z;
public:
hijo(){
z=0;
}
void imprimir(){
padre::imprimir();
cout << \"Hijo \" << z <<\"\\n\";
}
};

void main(){
hijo *h;
padre *p;
h=new hijo[2];
p=new hijo[2];
p=h;

(p+1)->intro(2);
(p+1)->imprimir(); //FALLA AQUI

}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder