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

¿Cómo usar la sintaxis de inicialización de miembros en constructor con apuntadores?

Estas en el tema de ¿Cómo usar la sintaxis de inicialización de miembros en constructor con apuntadores? en el foro de C/C++ en Foros del Web. Bueno, supongamos que tengo un objeto global: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original extern Objeto objeto_global ; Y tengo otro objeto que está en otro ...
  #1 (permalink)  
Antiguo 01/03/2013, 13:43
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 12 años, 11 meses
Puntos: 8
¿Cómo usar la sintaxis de inicialización de miembros en constructor con apuntadores?

Bueno, supongamos que tengo un objeto global:

Código C++:
Ver original
  1. extern Objeto objeto_global;

Y tengo otro objeto que está en otro fichero y es:

Código C++:
Ver original
  1. class A
  2. {
  3.  
  4. public:
  5.    A(void)
  6.       : apuntador(objeto_global) // Aquí está mi problema.
  7.    {
  8.       // Esto está vacío
  9.    }
  10.  
  11. private:
  12.    Objeto * apuntador;
  13.  
  14. }


Cómo inicializo un apuntador? Porque he intentado con:

Código C++:
Ver original
  1. : apuntador(&objeto_global)

Pero no funciona tampoco, ¿cómo le hago?

Saludos.
  #2 (permalink)  
Antiguo 01/03/2013, 16:20
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 1 mes
Puntos: 22
Respuesta: ¿Cómo usar la sintaxis de inicialización de miembros en constructor con ap

Hola, extern debería de aparecer en el archivo donde defines tu otra clase, y donde defines tu objeto global no utilices extern porque sino solamente lo estás declarando y no definiendo.

Código C++:
Ver original
  1. Objeto objeto_global;

Código C++:
Ver original
  1. extern Objeto objeto_global;
  2.  
  3. class A
  4. {
  5.  
  6. public:
  7.    A(): apuntador(&objeto_global){}
  8.  
  9. private:
  10.    Objeto * apuntador;
  11.  
  12. }

Etiquetas: constructor, funcion, int, sintaxis, usar
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 14:48.