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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Error al comunicarme entre clases en distintos .cpp
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Error al comunicarme entre clases en distintos .cpp  (Leído 2,329 veces)
ramyou

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[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


En línea

ramyou

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [C++] Error al comunicarme entre clases en distintos .cpp
« Respuesta #1 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


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comunicación entre 2 programas distintos
Programación General
arenoide 8 5,971 Último mensaje 6 Junio 2011, 21:13 pm
por kiriost
MOVIDO: Comunicación entre 2 programas distintos
.NET (C#, VB.NET, ASP)
[D4N93R] 0 1,540 Último mensaje 2 Junio 2011, 21:43 pm
por [D4N93R]
[C++]¿Comunicacion entre clases? « 1 2 »
Programación C/C++
skorpion32 14 15,443 Último mensaje 2 Agosto 2011, 01:24 am
por [L]ord [R]NA
Sincronizar marcadores entre distintos navegadores
Software
Aikanáro Anário 0 1,108 Último mensaje 12 Julio 2012, 20:59 pm
por Aikanáro Anário
Diferencias entre internautas de distintos puntos de España
Noticias
wolfbcn 0 1,085 Último mensaje 7 Octubre 2017, 01:48 am
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines