Problema com definição de classe em C

18/05/2008

0

Sou iniciante em C++ e estou precisando de ajuda.

Peguei uma apostila de C++ na internet, incluse é uma apostila muito boa, e nela vem explicando tudo sobre POO com C++.

Tem um capítulo que fala sobre compilação de um programa dividido em vários arquivos. Diz o seguinte: ´podemos fazer a declaração de uma nova classe em um arquivo .h (cabeçalho), implementar essa classe em um segundo arquivo .cpp incluindo a #include ´nome_do_arquivo_h.h´ e utilizar essa classe em um programa qualquer, simplesmente incluindo include ´nome_do_arquivo_h.h´.

O problema é que quando crio uma nova classe, por exemplo, classe contador, e coloco somente sua declaração com seus dados e funções em um arquivo .h e deixo sua implementação em outro arquivo (.cpp) incluindo o include ´nome_do_arquivo_h.h´, o programa não compila.
Suponhamos que tenha a função incrementa na classe contador.
Quando tento compilar o programa o compiliador exibe a seguinte mensagem:

undefined reference ´contador::incrementa(void)´

Mas quando faço a declaração da classe e sua implementação no mesmo arquivo, seja .h ou .cpp, funciona perfeitamente. O problema é quando divido em dois arquivos.

Estou usando o Dev-C++ 4.9.9.2.

Alguém pode me ajudar?


Jonathan Bispo

Jonathan Bispo

Responder

Posts

19/05/2008

Massuda

O .H que declara a classe precisa também ser incluído no .CPP que implementa a classe via #include.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar