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

Duda sobre Herencia

Estas en el tema de Duda sobre Herencia en el foro de C/C++ en Foros del Web. Hola lo que pasa es que me sale solamente un error( en visual studio) "error C2512: 'persona' : no hay disponible un constructor predeterminado adecuado" ...
  #1 (permalink)  
Antiguo 02/05/2009, 11:59
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Duda sobre Herencia

Hola lo que pasa es que me sale solamente un error( en visual studio)
"error C2512: 'persona' : no hay disponible un constructor predeterminado adecuado"

mis clases son:


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

persona::persona(string n,int e)
{nombre=n;
edad=e;
}




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

doctor::doctor(string n, int e,string l)
{especialidad=l;
}

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



solo tengo probelmas con el constructor, me alega en la linea de "especialidad=l;", pero no por que eso este malo, antes tenia puesto en el constructor de doctor ( cuando no existia especialidad) lo mismo que en el constructor de persona y me daba el mismo error =S

helpme plz xD
  #2 (permalink)  
Antiguo 02/05/2009, 12:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Duda sobre Herencia

el error lo solucione faltaba agregarle al constructor dedoctor la siguiente linea.:


doctor::doctor(string n, int e,string l):persona(n,e)
{ nombre=n;
edad=e;
especialidad=l;
}
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 19:29.