elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: [C++] Error al comunicarme entre clases en distintos .cpp en: 24 Enero 2017, 10:50 am
Ok, viendo este video:

Me dí cuenta que el problema es que la clase tenía que ser .h y no .cpp, con modificar eso se soluciono el problema  :D , si creen necesario que elimine el post me avisan y lo elimino  :P
2  Programación / Programación C/C++ / [C++] Error al comunicarme entre clases en distintos .cpp en: 24 Enero 2017, 09:52 am
Buenas, resulta que estoy practicando con C++ y en la mayoría de tutoriales sobre clases, por lo menos en español, te enseñan a usarlas sobre un mismo fichero, lo cual no creo que sea la mejor opción, por lo que estoy tratando de generar cada una de las clases en distintos .cpp , pero al querer compilar el programa me da una serie de errores.

Para empezar les paso los codigos:

Jugador.cpp

Código:
#include <iostream>

using namespace std;

class Jugador{
private:
string nombre;
int puntaje = 0;

public:
Jugador(string);
int getPuntaje();
void setPuntaje(int);
};

Jugador::Jugador(string _nombre){
nombre = _nombre;
}

int Jugador::getPuntaje() {
return puntaje;
}

void Jugador::setPuntaje(int _puntaje) {
puntaje += _puntaje;
}


Source.cpp

Código:
#include <iostream>
#include <string>
#include "Jugador.cpp"
using namespace std;

int main() {
string nombre;
cout << "Player 1 - Escriba su nombre";
cin >> nombre;
Jugador jugador1(nombre);

cout << "Player 2 - Escriba su nombre";
cin >> nombre;
Jugador jugador2(nombre);


system("pause");
return 0;
}

Bueno, en la IDE (Visual Studio 2015), no me da ningún problema antes de compilar, y de hecho si copio la clase Jugador con todos sus métodos y los pego en Source.cpp, funciona, pero al querer usarlos por separado me da los siguientes errores:

Citar
 Source.cpp
  Jugador.cpp
  Generando código...
Source.obj : error LNK2005: ya se definió "public: __thiscall Jugador::Jugador(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0Jugador@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) en Jugador.obj
Source.obj : error LNK2005: ya se definió "public: int __thiscall Jugador::getPuntaje(void)" (?getPuntaje@Jugador@@QAEHXZ) en Jugador.obj
Source.obj : error LNK2005: ya se definió "public: void __thiscall Jugador::setPuntaje(int)" (?setPuntaje@Jugador@@QAEXH@Z) en Jugador.obj
C:\Users\Emanuelx1v2\Documents\Visual Studio 2015\Projects\nya\Debug\nya.exe : fatal error LNK1169: se encontraron uno o más símbolos definidos simultáneamente
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines