Foros del Web » Programación para mayores de 30 ;) » C/C++ »

una duda con herencia

Estas en el tema de una duda con herencia en el foro de C/C++ en Foros del Web. hola miren hice una clase persona y una doctor( que hereda de persona) el problema q tengo es que doctor no me esta heredando de ...
  #1 (permalink)  
Antiguo 01/05/2009, 15:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Exclamación una duda con herencia

hola miren hice una clase persona y una doctor( que hereda de persona)
el problema q tengo es que doctor no me esta heredando de persona miren.

#include<iostream>
#include<cstdlib>
using namespace std;

class persona
{public:
string nombre;
int edad;
persona(std::string n,int e);
void saludar();
void caminar();
};

persona::persona(std::string n,int e)
{nombre=n;
edad=e;
}
void persona::caminar()
{
cout<<"estoy caminando"<<endl;

}

void persona::saludar()
{
cout<<"hola"<<endl;
}



class doctor:public persona
{public:
void atender();
void darreseta();
doctor(std::string n,int e);
};




int main()
{persona *X=new persona("fernando",19);
X->saludar();
X->caminar();
doctor *P=new doctor("emi",18);
system("pause");
return 0;
}


a sip y tambien nu se por q no puedo crear doctor me sale un error.
mi idea era tambien sobrecargar el metodo caminar() en doctor para que digiera "voy al hospital", pero al momento de querer hacerlo me dice que caminar no esta declarada en doctor, cosa que si deberia estar puesto que heredo .
espero su respuesta con ansias^^
a sip uso el visual studio 2008 ^^.
saludos
  #2 (permalink)  
Antiguo 02/05/2009, 08:23
Avatar de rodno  
Fecha de Ingreso: enero-2009
Ubicación: En algun lugar de Cuba
Mensajes: 426
Antigüedad: 15 años, 3 meses
Puntos: 43
De acuerdo Respuesta: una duda con herencia

Buenas.

Prueba poniendo

lass persona
{
protected:
string nombre;
int edad;
persona(std::string n,int e);
void saludar();
void caminar();
};

Saludos..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:19.