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

como instanciar en c++ y code:blocks

Estas en el tema de como instanciar en c++ y code:blocks en el foro de C/C++ en Foros del Web. saludos, disculpen por esta duda, tengo un proyecto en code:blocks y las librerias wxWidgets 2.8.12, te crea sus respectivos archivos .h y cpp, y si ...
  #1 (permalink)  
Antiguo 04/03/2015, 15:33
 
Fecha de Ingreso: junio-2012
Ubicación: Ciudad Azteca - Edo de Mexico
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
como instanciar en c++ y code:blocks

saludos, disculpen por esta duda, tengo un proyecto en code:blocks y las librerias wxWidgets 2.8.12, te crea sus respectivos archivos .h y cpp, y si agregamos una clase nos genera los archivos .h y el archivo .cpp en mi caso tengo que hacer unas funciones para que se utilicen o se inicialicen variables en todos lados.

El caso es que tengo definido metodos y variables miembro en el archivo .h y el codigo en el archivo .cpp, lo instancio y despues asigno valor en el caso de las variables en el siguiente metodo
Código PHP:
//funciones.h
class funciones
{
    public:
        
funciones();
        
void numeros();
        static 
std::string strDatabase;
    protected:
    private:
};
#endif // FUNCIONES_H

//saludoMain.cpp
#include "funciones.h"
//declaro variables
. . .
funciones fuc;  //instancio la clase funciones

saludoFrame::saludoFrame(wxWindowparent,wxWindowID id)
{
   
wxMenuItemMenuItem2;
    
wxMenuItemMenuItem1;
    
wxMenuMenu1;
    
wxMenuBarMenuBar1;
    
wxMenuMenu2;
     ...
    
fuc.strDatabase="Archivos";  //asigno el valor de una variable

Al constuir el proyecto me da el error:
Código:
||=== Build: Release in saludo (compiler: GNU GCC Compiler) ===|
obj\Release\saludoMain.o:saludoMain.cpp|| undefined reference to `funciones::strDatabase'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 3 second(s)) ===|
gracias
  #2 (permalink)  
Antiguo 04/03/2015, 16:02
lareto
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como instanciar en c++ y code:blocks

El error no parece que tenga que ver con code:blocks o con wxWidgets; parece que falta la definición de funciones::strDatabase.

Como no es constante, la definición de strDatabase debe estar fuera de la definición de la clase:
Código:
std::string funciones ::strDatabase= "hola static";
  #3 (permalink)  
Antiguo 05/03/2015, 15:35
 
Fecha de Ingreso: junio-2012
Ubicación: Ciudad Azteca - Edo de Mexico
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: como instanciar en c++ y code:blocks

gracias, asi es ya me resulto.

Etiquetas: funcion, instanciar, numero
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 18:43.