Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com interfaces


Guest --Flávio --

Pergunta

Guest --Flávio --

Olá!

Sou newbie em programação C++ e me deparei com um problema um tanto quanto esquisito. Quando tento executar o código abaixo o compilador (mingw eu acho) dá os seguintes erros:

'undefined reference to GradeBook::GradeBook( std::string )'

'undefined reference to GradeBook::GradeBook( std::string )' -> ele repete esse erro mesmo...

'undefined reference to GradeBook::getCourseName()'

'undefined reference to GradeBook::getCourseName()' -> também repete esse...

Esse código é quase uma cópia fiel de um código do Deitel, C++ como programar (dá pra perceber não é? n? :rolleyes: ).

Se eu colocar em programa.cpp a seguinte diretiva: #include "GradeBook.cpp", o código roda, mas isso fere a lógica de se criar uma interface...

Alguém pode me ajudar?

Abraço!

GradeBook.h:

#include <string>
using std::string;

class GradeBook {

    public:
    GradeBook(string);
    void setCourseName(string);
    string getCourseName();
    void displayMessage();

    private:
    string courseName;

};
GradeBook.cpp:
#include <string>
using std::string;

#include <iostream>
using std::cin;
using std::cout;
using std::endl;

#include "GradeBook.h"

GradeBook::GradeBook(string name) {
    courseName = name;
}

void GradeBook::setCourseName(string nameOfCourse) {
    courseName = nameOfCourse;
}

string GradeBook::getCourseName() {
    return courseName;
}

void GradeBook::displayMessage() {
    cout << courseName;
}
programa.cpp:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

#include <string>
using std::string;

#include "GradeBook.h"

int main() {

    GradeBook materia1("IF672 - Algoritmos e Estruturas de Dados");
    GradeBook materia2("IF677 - Infra-estrutura de Software");

    cout << ".::Programa para testar a construção de interfaces::." << endl;
    cout << "materia1 tem o valor de " << materia1.getCourseName() << endl;
    cout << "materia2 tem o valor de " << materia2.getCourseName() << endl;

    return 0;
}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Guest --Flávio --
O GradeBook.cpp não está sendo compilado.

Você usa algum tipo de IDE?

Abraços.

Sim... eu estou usando o CodeBlocks, mas mesmo q eu compile arquivo por arquivo o erro ainda persiste...

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Flávio --
Adicione o GradeBook.cpp ao projeto.

Abraços.

Na realidade eu tinha criado vários arquivos dentro de uma mesma pasta, mas sem criar um projeto... isso deveria funcionar... n é? (ou n?)

Apesar de que se eu realmente criar um projeto, esse código compila...

Obrigado Durub!

Abraço!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...