Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/08/2014, 01:38
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: "multiple definition of" en una clase

los errores que vi son los siguientes:
Este no es un error si lo has configurado el header para que este en otra carpeta pero si esta en la misma puedes sustituir esto: #include <Producto.h> por esto: #include "Producto.h"

Luego tambien has definido el contructor y el destructor pero no lo implementas en ninguna parte y eso da error.

Basicamente solo eso he visto y ya funciona.

Aqui te dejo para que veas:
producto.h
Código C++:
Ver original
  1. //Producto.h
  2. #ifndef PRODUCTO_H
  3. #define PRODUCTO_H
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. class Producto {
  9.     private:
  10.         char tipo[20], nombre[20], codigo[20];
  11.         float costo;
  12.  
  13.     public:
  14.         Producto(){};
  15.         virtual ~Producto(){};
  16.         void Capturar ();
  17.         void Mostrar ();
  18. };
  19.  
  20. void Producto::Capturar() {
  21.     cout << "\n Tipo de Producto: " << endl;
  22.     cin >> tipo;
  23.     cout << "\n Nombre de Producto: " << endl;
  24.     cin >> nombre;
  25.     cout << "\n Codigo de Producto: " << endl;
  26.     cin >> codigo;
  27.     cout << "\n Costo del Producto: " << endl;
  28.     cin >> costo;
  29. }
  30.  
  31. void Producto::Mostrar() {
  32.     cout << "Tipo de Producto: " << tipo;
  33.     cout << "\n Nombre del Producto: " << nombre;
  34.     cout << "\n Código del Producto: " << codigo;
  35.     cout << "\n Costo del Producto: $" << costo;
  36. }
  37.  
  38. #endif // PRODUCTO_H

main.cpp
//main.cpp
Código C++:
Ver original
  1. #include <iostream>
  2. #include "Producto.h"
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     Producto a;
  8.     a.Capturar();
  9.     a.Mostrar();
  10.     return 0;
  11. }

solo use <> para hacer includes si dicha carpeta las configuras para que el compilador sepa donde esta, si el header esta junto al main use "", también puedes poner la ruta "c:\proyecto\lol\..."