[C con Clase] Duda sobre herencia 2da parte

Alexis García Báez ybaez en infomed.sld.cu
Jue Mayo 30 22:53:24 CEST 2013


Saludos de nuevo, aprovecho la oportunidad para agradecer de nuevo a Steven
nos sirvio de mucho ayuda y de no ser por otro percance ya hubiésemos
terminado nuestro proyecto aqui va la 2da duda

Como explique ayer tenemos la clase padre TCourse y las 2 hijas
TProfesorCourse y TEnterpriseCourse, hay una clase TCollectionCourse y una
controladora TEducationalCenter.

Ahora en la clase hija TProfesorCourse hay un atributo llamado Level, que
solo almacena un int, tenemos hicimos una funcion que reciba un int y
devuelva cuantas instancias TProfesorCourse tienen el atributo Level pasado
con igual valor que el int que entramos por parametros, la coleccion que es
de clase padre puede tener las 2 clases hijas eso lo solucionamos con el
casteo dinamico que nos explico Steven, el problema consiste en que pensamos
que puede haber un error a la hora de insertar los datos de las instancias
de TProfesorCourse en el arreglo de TCourse aqui les va el codigo del
insertar.

 

//--------------------------------------------------------------------------
-

 

void TCourseCollection::InsertEnterprise(TEnterpriseCourse*
pEnterpriseCourse)

{

   if (max == length)

      reallocate();

 

   ptrCourses[length] = *pEnterpriseCourse;

   length++;

}

//--------------------------------------------------------------------------
-

void TCourseCollection::InsertProfesor(TProfesorCourse* pProfesorCourse)

{

   if (max == length)

      reallocate();

 

   ptrCourses[length] = *pProfesorCourse;

   length++;

}

//--------------------------------------------------------------------------
-

 

Esos son los 2 insertar, uno para cada clase hija. Traceando el programa
estamos casi seguros que el error esta en la manera de insertar que trunca
los atributos de las clases hijas y mantiene correctamente los de la clase
padre.

Acudimos de nuevo a ustedes porque estamos contra el tiempo y dependemos del
proyecto para tener derecho a examen final gracias de antemano.

Saludos

Alexis (y Ernesto mi colega, por eso hablo en plural)



--

Este mensaje le ha llegado mediante el servicio de correo electr
onico que ofrece Infomed para respaldar el cumplimiento de las misiones del 
Sistema Nacional de Salud. La persona que envia este correo asume el comprom
iso de usar el servicio a tales fines y cumplir con las regulaciones estable
cidas

Infomed: http://www.sld.cu/



------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20130530/af012fbf/attachment.html>


Más información sobre la lista de distribución Cconclase