Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: noob2012 en 27 Noviembre 2014, 01:19 AM

Título: Constructor no imprime mensaje de bienvenida.
Publicado por: noob2012 en 27 Noviembre 2014, 01:19 AM
class Usuarios
{
public:
   Usuarios ();

private:

};




#include "Usuarios.h"

Usuarios::Usuarios ()
{
cout<<"Bienvenido usuario";
}



#include "Usuarios.h"

int main ()
{
   Usuarios usuario1; // ACÁ ME TIRA EL ERROR
system ("pause");
   return 0;
}


No entiendo porque al crear un objeto de la clase "Usuarios" no se imprime el mensaje de bienvenida que contiene el constructor.
Título: Re: Constructor no imprime mensaje de bienvenida.
Publicado por: vangodp en 27 Noviembre 2014, 01:37 AM
Pero donde has puesto la clase?
normalmente la clase va en el archivo .h.
La implementacion de del constructor va en un .cpp aparte.
-usuarios.h: va la declaracion
-usuarios.cpp:  va la implementacion
-main.cpp: va la funcion principal
Luego configuras el proyecto para que enlace todo correctamente.  :¬¬
Al menos asi es como hago yo :S
Título: Re: Constructor no imprime mensaje de bienvenida.
Publicado por: kutcher en 27 Noviembre 2014, 01:55 AM
Código (cpp) [Seleccionar]
Usuarios usuario1();

No declara un objeto de la clase Usuarios, declara una función que no tiene argumentos y devuelve un objeto de la clase Usuarios para declarar un objeto, utilice:

Código (cpp) [Seleccionar]
Usuarios usuario1;

Saludos
Título: Re: Constructor no imprime mensaje de bienvenida.
Publicado por: noob2012 en 28 Noviembre 2014, 22:43 PM
Cita de: kutcher en 27 Noviembre 2014, 01:55 AM
Código (cpp) [Seleccionar]
Usuarios usuario1();

No declara un objeto de la clase Usuarios, declara una función que no tiene argumentos y devuelve un objeto de la clase Usuarios para declarar un objeto, utilice:

Código (cpp) [Seleccionar]
Usuarios usuario1;

Saludos

Ahí realice la modifición que me dijiste...

y me sale otro error más.

||=== Build: Debug in Proyecto3 (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\Luana\Documents\Proyecto3\main.cpp|
24|undefined reference to `Usuarios::Usuarios()'|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

El archivo Usuarios.h Usuarios.cpp y main.cpp están todos en el proyecto que realizo, no entiendo porque no me compila ahora.


Título: Re: Constructor no imprime mensaje de bienvenida.
Publicado por: _Enko en 28 Noviembre 2014, 22:59 PM
Código (cpp) [Seleccionar]

#include <iostream>     
#include <windows.h>



using namespace std;

class Usuarios
{
public:
    Usuarios ();
private:

};

Usuarios::Usuarios()
{
    cout<<"Bienvenido usuario";
}

int main ()
{
    Usuarios usuario1;
    system ("pause");
    return 0;
}



Pues la verdad que ni idea que problema puedes tener, el codigo que pasaste funciona bien

Saludos.