Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - ber0x88

#1
Programación C/C++ / Classes em Ficheiros
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 (cpp) [Seleccionar]
#include "MyClass.h"
#include "MyClass.cpp"
#include <iostream>

int main(){
    MyClass a;
}


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 (cpp) [Seleccionar]
#ifndef MYCLASS_H
#define MYCLASS_H


class MyClass
{
    public:
        MyClass();
        ~MyClass();
    protected:
    private:
};

#endif // MYCLASS_H



MyClass.cpp função do construtor e destrutor
Código (cpp) [Seleccionar]
#include "MyClass.h"
#include <iostream>
using namespace std;


MyClass::MyClass()
{
    cout << "constr" << endl;
}

MyClass::~MyClass()
{
    cout << "Dest" << endl;
}



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