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

Quien me ayuda con las clases y creando objetos...

Estas en el tema de Quien me ayuda con las clases y creando objetos... en el foro de C/C++ en Foros del Web. Hola denuevo, mas problemas! xD Miren en java iniciava objetos de la forma: Tipo Nombre=new Tipo..... o algo asi... como lo ago en c++?? es ...
  #1 (permalink)  
Antiguo 17/07/2008, 09:59
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Quien me ayuda con las clases y creando objetos...

Hola denuevo, mas problemas! xD

Miren en java iniciava objetos de la forma:

Tipo Nombre=new Tipo.....

o algo asi... como lo ago en c++??
es acaso de la forma :

Tipo Nombre

porque me a dado resultados parecido...lei algo de liberar la memoria tiene algo que ver???...y como llamo una clase que esta en otro archivo...tengo un archivo Player y el main y desde el main quero llamar una clase que esta en Player....eso haber si alguien me ayuda...e revisado vastante el foro y se me han solucionado varias dudas asique gracias de ante tipo....
  #2 (permalink)  
Antiguo 17/07/2008, 16:09
 
Fecha de Ingreso: julio-2008
Mensajes: 21
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Quien me ayuda con las clases y creando objetos...

En C++ es igual, es decir si tu quieres reservar 5 posiciones de memoria para un vector dinámico de valores enteros (o array como otros lo llaman) pues harias:

int *vector= new int[5];

Y lo que te comentan de luego liberar la memoria es que cuando ya durante el programa no le vayas a dar más uso a ese vector que liberes su memoria, que sería;

delete []vector;

Si quieres una variable para un solo valor entero pues:

int entero;

Y no tienes que liberar memoria.

--

No entiendo bien a que te refieres con lo de las clases, si tu tienes una clase en un archivo .h, haces un include de ese .h en el archivo que tienes el main, declaras un objeto del tipo de la clase:

Nombredelaclase objeto;

Y para hacer uso de las funciones públicas de la clase (supongamos que como función de la clase tenemos Valor()), pues harias:

objeto.Valor();
  #3 (permalink)  
Antiguo 21/07/2008, 06:42
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Quien me ayuda con las clases y creando objetos...

Vamos a ver un poco...

En c++ los objetos se instancian igual que en java, pero teniendo en cuenta 2 detalles.
En java todas las variables son referencias a objetos, en C++, al ser una extencion de C tienes variables de valor y variables de referencia(punteros).
Si quieres trabajar como trabajabas en java lo correcto seria que uses punteros, pero eso te lleva a tener que manejar la memoria a mano. Y eso es porque java tiene garbage collection y la VM se encarga de ese trabajo.

Para instanciar un objeto puedes hacer

variable = new Foo; //Si el constructor no tiene parámetros puedes obviar los parentesis

donde variable puede ser:

Foo variable;

ó

Foo* variable;

Si tu variable es de tipo valor, el objeto muere solo al salir del scope donde fue definida. Si no puedes liberar la memoria haciendo:

delete variable;

Creo que eso es todo :). Suerte!
__________________
Saludoss
Guille
  #4 (permalink)  
Antiguo 21/07/2008, 07:45
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Quien me ayuda con las clases y creando objetos...

Como te dicen para incluir archivo tienes que crear un header file o tan bien lo puedes traer desde el notepad si es data poniendo,

#include C:\myheaderfile.h

Y si creaste un header file tenias que haber puesto (solo para que trabaje mejor).

#ifndef inheritanceheader (si no esta definido con ese nombre)
#define inheritanceheader (entonces definalo)

#endif (al final de todo el programa)
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 10:02.