Logo Hardware.com.br
Arthur Monteiro Diniz
Arthur Monte... Novo Membro Registrado
3 Mensagens 0 Curtidas

Erro de em projeto ao declarar objeto

#1 Por Arthur Monte... 11/11/2017 - 22:31
Boa noite pessoal!
Estou com um problema em um código em C++, para um trabalho da faculdade...
Eu crio um projeto, daí no .h do projeto eu coloco a minha classe com os atributos e os protótipos dos métodos.
no .cpp eu coloco [HASHTAG]#include[/HASHTAG] "nome do ponto h .h" e implemento o construtor default e um construtor sobrecarregado.
Porém quando declaro um objeto com o construtor sobrecarregado no meu int main no arquivo (main.cpp) da os seguintes erros:

Logo abaixo o main.cpp - no qual eu tento declarar o objeto utlizando construtor sobrecarregado
#include <iostream>
#include "testando.h"

using namespace std;

int main()
{
//corpo A(), c();
corpo B(2.3, 3.2, 4.5);
cout << "Hello world!" << endl;
return 0;
}


Logo abaixo o arquivo .cpp no qual implemento os métodos da minha classe.
Coloquei um cout no destrutor só para ver ele sendo chamado.

#include <iostream>
#include "testando.h"

using namespace std;

corpo::corpo(){
pos=vol=massa0;
}

corpo::corpo(float pos, float vol, float massa){
this->pos=pos
this->vol=vol;
this->massa=massa;
}

corpo::~corpo(){
cout<<"Destruindo..."<<endl;
}


logo abaixo o arquivo .h do meu projeto

#ifndef TESTANDO_H_INCLUDED
#define TESTANDO_H_INCLUDED

class corpo{
float pos;
float vol;
float massa;
public:
corpo();
corpo(float, float, float);
~corpo();
};

#endif // TESTANDO_H_INCLUDED

||=== Build: Debug in teste (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\arthu\Desktop\teste\main.cpp|9|undefined reference to `corpo::corpo(float, float, float)'|
C:\Users\arthu\Desktop\teste\main.cpp|11|undefined reference to `corpo::~corpo()'|
C:\Users\arthu\Desktop\teste\main.cpp|11|undefined reference to `corpo::~corpo()'|
||error: ld returned 1 exit status|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Alguém pode me ajudar? Desde já eu agradeço muitooo!

Anexos

Codificador
Codificador Membro Senior Registrado
202 Mensagens 16 Curtidas
#3 Por Codificador
12/11/2017 - 19:03
[
Arthur Monteiro Diniz disse:
Boa noite pessoal!
Estou com um problema em um código em C++, para um trabalho da faculdade...
Eu crio um projeto, daí no .h do projeto eu coloco a minha classe com os atributos e os protótipos dos métodos.
no .cpp eu coloco [HASHTAG]#include[/HASHTAG] "nome do ponto h .h" e implemento o construtor default e um construtor sobrecarregado.
Porém quando declaro um objeto com o construtor sobrecarregado no meu int main no arquivo (main.cpp) da os seguintes erros:

Logo abaixo o main.cpp - no qual eu tento declarar o objeto utlizando construtor sobrecarregado
#include <iostream>
#include "testando.h"

using namespace std;

int main()
{
//corpo A(), c();
corpo B(2.3, 3.2, 4.5);
cout << "Hello world!" << endl;
return 0;
}


Logo abaixo o arquivo .cpp no qual implemento os métodos da minha classe.
Coloquei um cout no destrutor só para ver ele sendo chamado.

#include <iostream>
#include "testando.h"

using namespace std;

corpo::corpo(){
pos=vol=massa0;
}

corpo::corpo(float pos, float vol, float massa){
this->pos=pos
this->vol=vol;
this->massa=massa;
}

corpo::~corpo(){
cout<<"Destruindo..."<<endl;
}


logo abaixo o arquivo .h do meu projeto

#ifndef TESTANDO_H_INCLUDED
#define TESTANDO_H_INCLUDED

class corpo{
float pos;
float vol;
float massa;
public:
corpo();
corpo(float, float, float);
~corpo();
};

#endif // TESTANDO_H_INCLUDED

||=== Build: Debug in teste (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\arthu\Desktop\teste\main.cpp|9|undefined reference to `corpo::corpo(float, float, float)'|
C:\Users\arthu\Desktop\teste\main.cpp|11|undefined reference to `corpo::~corpo()'|
C:\Users\arthu\Desktop\teste\main.cpp|11|undefined reference to `corpo::~corpo()'|
||error: ld returned 1 exit status|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Alguém pode me ajudar? Desde já eu agradeço muitooo!

Eu fiquei curioso para que serve esse código em C++
Você pode encarar um erro como uma besteira a ser esquecida, ou como um resultado que aponta uma nova direção.
Arthur Monteiro Diniz
Arthur Monte... Novo Membro Registrado
3 Mensagens 0 Curtidas
#6 Por Arthur Monte...
13/11/2017 - 18:04
Eu consertei aqueles dois erros, porém o programa ainda acusa o mesmo erro:

||=== Build: Debug in teste (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\Users\arthu\Desktop\teste\main.cpp|8|undefined reference to `corpo::corpo(float, float, float)'|
C:\Users\arthu\Desktop\teste\main.cpp|10|undefined reference to `corpo::~corpo()'|
C:\Users\arthu\Desktop\teste\main.cpp|10|undefined reference to `corpo::~corpo()'|
||error: ld returned 1 exit status|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Compactei de novo e estou enviando o projeto.

Anexos

esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#7 Por esquiloesper...
13/11/2017 - 21:12
Quando eu disse que eram apenas aqueles erros eu não menti.
Melhor você conferir possíveis problemas na instalação do seu compilador e as demais configurações dele bem como da IDE.

Para não dizer que rodou apenas na minha máquina eu executei seu programa em uma ferramenta C++ Online. Clique na imagem para ampliar e veja o resultado:

Anexo do post

Anexos

Só é difícil enquanto estiver oculto! cool.png
Use a pesquisa


rolleyes.png  Navegar é preciso, viver... também.  smile.png
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal