Foro de elhacker.net

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
Código:
class Usuarios
{
public:
    Usuarios ();

private:

};



Código:
#include "Usuarios.h"

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


Código:
#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
  1. 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
  1. Usuarios usuario1;

Saludos


Título: Re: Constructor no imprime mensaje de bienvenida.
Publicado por: noob2012 en 28 Noviembre 2014, 22:43 pm
Código
  1. 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
  1. 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
  1. #include <iostream>    
  2. #include <windows.h>
  3.  
  4.  
  5.  
  6. using namespace std;
  7.  
  8. class Usuarios
  9. {
  10. public:
  11.    Usuarios ();
  12. private:
  13.  
  14. };
  15.  
  16. Usuarios::Usuarios()
  17. {
  18.    cout<<"Bienvenido usuario";
  19. }
  20.  
  21. int main ()
  22. {
  23.    Usuarios usuario1;
  24.    system ("pause");
  25.    return 0;
  26. }
  27.  
  28.  

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

Saludos.