C/Visual C - Pregunta de Teoria

 
Vista:

Pregunta de Teoria

Publicado por Nelek (816 intervenciones) el 19/02/2007 15:26:07
Hola

A raiz de un mensaje anterior sobre los "typedef", me he creado un fichero de cabecera donde tengo todos los typedef que quiero usar en mas de una clase de mi proyecto. Pero resulta que ahora me viene un conflicto por otro lado ya que algunas de las "typedef struct ... nombre" que uso se ven implicados en otras clases y el compilador me dice que dichos "nombre" no contienen metodos necesarios para las clases que los usan, asi que ahora me voy a ver obligado a derivar clases de CObject para dichos "typedef struct ... nombre"

La pregunta es:

Meto todas las nuevas clases en el mismo fichero como venia haciendo hasta el momento? Solo voy a necesito implementar lo minimo (Constructor, Copia, Operador =, Operador == y serialize) y casi todo podria llegar a ponerlo como "inline" porque realmente son pocas variables las que necesito en cada "grupo".

O mejor hacer cada clase con el asistente del VC++ y crear (en lugar de 1 fichero de cabecera con 6 o 7 clases pequenyas y los metodos que necesito para todas ellas) 6 o 7 ficheros *.h y otros tantos *.cpp con los metodos especificos para cada uno?
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

RE:Pregunta de Teoria

Publicado por fernando.gomez (1603 intervenciones) el 19/02/2007 18:51:33
¿Usas el asistente? Bueno, yo nunca recomendaría algo así :P jejeje, pero bueno, acuérdate de que ci metes implementaciones en los *.h's, cuando los #incluyas en los cepepés, se van a copiar, y pues puede ser que crezca el tamaño de tu programa. Si son inline no debería haber mucho problema en cualquier caso.

Por cierto, sí sabes que en C++ ya no es necesario hacer el typedef struct, ¿verdad? Esto se hacía porque para instanciar una variable en C tenías que poner "struct MiEstructura mi_instancia" mientras que en C++ ya solo con el nombre basta.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pregunta de Teoria

Publicado por Nelek (816 intervenciones) el 20/02/2007 07:59:46
Gracias por la respuesta Fernando,

al final voy a tener que crear las clases, en lugar de usar las struct, ya que tengo que sobrecargar algunas cosas (operadores, constructor y serialize) asi que... los que sean muy pequenyos (5 o menos elementos) los hare inline, pero tengo una clase que contiene a su vez una lista (para la que estoy haciendome funciones template como a de abajo, que por cierto he probado y funciona), asi que esa me tocara hacerla normal y corriente.

Respecto al asistente... se que no es muy aconsejable, pero como todavia no estoy en un nivel de conocimiento teorico profundo, me quita bastantes quebraderos de cabeza para las clases MFC, las clases genericas derivadas de CObject las deja bastante limpias y ahora me interesa acabar rapido el proyecto. Seguramente en un futuro reescriba el programa entero sin usar asistente y depurando metodos por punteros y demas, pero (como en la historia interminable...) eso es otra historia que se contara en otro momento ;) :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar