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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Classes em Ficheiros en: 16 Abril 2016, 19:31 pm
Boa tarde,
Peço desculpa falar em português mas espero que percebam.  :-X
Segue o seguinte código:

test.cpp
Código
  1. #include "MyClass.h"
  2. #include "MyClass.cpp"
  3. #include <iostream>
  4.  
  5. int main(){
  6.    MyClass a;
  7. }

Cria o objecto "a" referente há classe MyClass.
Output:
Constr
Dest

MyClass.h onde está declarado a função do construtor e destrutor
Código
  1. #ifndef MYCLASS_H
  2. #define MYCLASS_H
  3.  
  4.  
  5. class MyClass
  6. {
  7.    public:
  8.        MyClass();
  9.        ~MyClass();
  10.    protected:
  11.    private:
  12. };
  13.  
  14. #endif // MYCLASS_H
  15.  
  16.  

MyClass.cpp função do construtor e destrutor
Código
  1. #include "MyClass.h"
  2. #include <iostream>
  3. using namespace std;
  4.  
  5.  
  6. MyClass::MyClass()
  7. {
  8.    cout << "constr" << endl;
  9. }
  10.  
  11. MyClass::~MyClass()
  12. {
  13.    cout << "Dest" << endl;
  14. }
  15.  


Tenho declarado MyClass.cpp em test.cpp e só assim é que funciona. Caso comente a linha que faz " #include "MyClass.cpp" "  e fique apenas incluído o MyClass.h ocorre o seguinte erro:

/home/user/Documents/workspace/test.o||In function `main':|
test.cpp|| undefined reference to `MyClass::MyClass()'|
test.cpp|| undefined reference to `MyClass::~MyClass()'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Caso inclua só o MyClass.cpp o programa também executa sem erros.
Não deberia executar normalmente só incluindo o Header?

Desde já obrigado :P
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines