interface e implementação, P.O.O. [RESOLVIDO]

1. interface e implementação, P.O.O. [RESOLVIDO]

Augusto
LinuxMH

(usa BackTrack)

Enviado em 24/06/2013 - 20:13h

Bom, estou começando a programar em c++ e fui criar algumas classes, separadas, mais diacho do compilador manda um erro, que não faço a minima idéia que seja, se eu coloco tudo em um arquivo .cpp ele roda, mas se crio arquivos, .cpp , .hpp/.h .cpp não compila , um código bem simples

pessoa.hpp
#ifndef PESSOA_H
#define PESSOA_H

#include <iostream>
#include <string>
using namespace std;
class Pessoa{
int idade;
string nome;
public:
Pessoa();
Pessoa(int idade, string nome);
int getIdade();
void setIdade(int idade);
string getNome();
void setNome(string nome);

};
#endif



pessoa.cpp

#include "pessoa.hpp"
#include <iostream>
using namespace std;
#include <string>
Pessoa::Pessoa(){
idade=0;
nome="";
}
Pessoa::Pessoa(int idade, string nome){
this->idade=idade;
this->nome=nome;
}
void Pessoa::setIdade(int idade){
this->idade=idade;
}
int Pessoa::getIdade(){
return idade;
}
void Pessoa::setNome(string nome){
this->nome=nome;
}
string Pessoa::getNome(){
return nome;
}



main.cpp

#include <iostream>
#include "pessoa.hpp"
#include <string>
using namespace std;
main(){
Pessoa Objeto;
Objeto.setNome("Maria");
cout <<Objeto.getNome();
}


Estou usando o jEdit,
se eu compilo o pessoa.cpp aparece isso
/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [pessoa] Error 1


Se eu compilo main.cpp aparece isso
/tmp/cc4Iwqt4.o: In function `main':
main.cpp:(.text+0x13): undefined reference to `Pessoa::Pessoa()'
main.cpp:(.text+0x47): undefined reference to `Pessoa::setNome(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
main.cpp:(.text+0x8d): undefined reference to `Pessoa::getNome()'
collect2: ld returned 1 exit status








  


2. MELHOR RESPOSTA

???
gokernel

(usa Linux Mint)

Enviado em 25/06/2013 - 01:28h

01 - Nos "arquivos.cpp" retirar todas as referencias de #include exceto ( #include pessoa.hpp ).

02 - Compilar assim:
-------------------------------------------------
g++ -c pessoa.cpp -Wall
g++ -c main.cpp -Wall
g++ -o programa *.o
-------------------------------------------------


3. Re: interface e implementação, P.O.O. [RESOLVIDO]

Augusto
LinuxMH

(usa BackTrack)

Enviado em 25/06/2013 - 09:42h

Valeu Gorkenerl, deu certo, mais tive que deixar os arquivo de cabeçalho , Valeu man (;


4. Re: interface e implementação, P.O.O. [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 25/06/2013 - 11:17h

Ok cara !!!

E como missão ... divulgar:

SALMOS 37: 3, 4:
"Deleita-te também no SENHOR, e ele te concederá o que deseja o teu coração.

Entrega o teu caminho ao SENHOR; confia nele, e ele tudo fará".



5. Re: interface e implementação, P.O.O. [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 25/06/2013 - 11:22h


E seria legal/indicado vc marcar a melhor resposta, lógico se vc assim quiser. ;)







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts