C/Visual C - Perdido como pedo en mameluco

 
Vista:

Perdido como pedo en mameluco

Publicado por SuperIndio (1 intervención) el 13/01/2005 18:35:09
Si yo tengo esta estructura
typedef struct{
char Patente[10]; /* */
char Marca[40]; /* */
char VerModelo[40]; /* */
char AnioModelo[06]; /* */
char Color[16]; /* */
char CedulaVerde[80]; /* */
char TitDNI[16]; /* */
char TitTipoDoc[03]; /* */
char TitNombre[60]; /* */
char TitDomicilio[60]; /* */
char TitDomLocal[40]; /* */
char TitDomCodPos[12]; /* */
char TitDomTelef[20]; /* */
char TitDomCelul[20]; /* */
char FechAlta[08]; /* */
char NroContrato[10]; /* */
char FechaBaja[08]; /* */
char RazonBaja[04]; /* */
char CdBloqueo[04]; /* */
char FechaBloq[08]; /* */
char RefInterna[20]; /* */
char RefExterna[20]; /* */
char Adicional[80]; /* */
char Estado[02]; } TypeAuto;

y quiero hacer la clase autito donde tengo que poner este typedef
dentro o afuera de la definicion de la clase ???????

//( Aqui ???????)

class autito
{
private:
//( o Aqui ???????)
public:
autito();
~autito();
TypeAuto rSet;
};
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:Perdido como pedo en mameluco

Publicado por El Mogur (202 intervenciones) el 14/01/2005 10:21:53
Pues depende de lo que quieras conseguir. Si lo pones fuera de la clase, el tipo de datos estará definido para todos los que incluyan el .h bajo el nombre TypeAuto. Si lo pones dentro de la clase, el tipo de datos será autito::TypeAuto.

Si además, está en la zona privada de la declaración de la clase, no se tendrá acceso al tipo desde fuera de la clase, por lo que fuera de ésta no se podrá declarar ninguna variable de tipo TypeAuto. Esto, posiblemente no quieras hacerlo, porque luego no podrás tener métodos en la clase que tenga como parámetros (o devuelva) variables del tipo TypeAuto, ya que desde fuera nunca se podrían tener variables de ese tipo.

De todas formas... ¡¿el código que has puesto compila?! Lo digo por la línea

char FechAlta[08]; /* */

Cuando pones un 0 antes de un número significa que ese número va en octal, igual que si pones 0x9 significa que va en hexadecimal. Como el 8 no es un dígito válido en octal, eso no debería compilar. Te aconsejo que, aunque quede mucho más bonito el código, nunca pongas 0's antes de un número, porque te puede llevar a error, sobre todo cuando compila. Por ejemplo, si pones 023 pensando que es el 23, en realidad estás poniendo el número 19 (23 en octal = 19 en decimal).

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:Perdido como pedo en mameluco

Publicado por SuperIndio (11 intervenciones) el 14/01/2005 15:05:49
No Man Todavia no intente compilar nada, gracias por el dato
Bueno respecto de la estructura voy es comun a toda la aplicacion o mejor dicho global por lo tanto voy a ponerla afuera, pero el echo de que yo defina una variable de ese tipo obviamente genera una depenencia
no????... Muchas Gracias..
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:Perdido como pedo en mameluco

Publicado por El Mogur (202 intervenciones) el 16/01/2005 19:09:06
Si, si dices que es común a toda la aplicación, entonces hay que ponerla "fuera" de la clase. Es más, si la clase hace uso de ella, pero existen otros puntos de tu aplicación que también lo hacen (otras clases, etc.), debería ir, incluso, en un .H propio, distinto del .H donde está la clase Autito.

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