legolas93
05-02-2012, 14:23
Sto seguendo il manuale della Deitel solo che sono ad un punto morto.
Questa è l'interfaccia
GradeBook.h
#include <string>
using namespace std;
class GradeBook{
private:
string courseName;
public:
void setCourseName(string);
string getCourseName();
GradeBook(string);
};
Questo è la definizione dell'interfaccia
GradeBook.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
void GradeBook::setCourseName(string name)
{
courseName = name;
}
string GradeBook::getCourseName()
{
return courseName;
}
GradeBook::GradeBook(string name)
{
setCourseName(name);
}
E questo è il sorgente con il Main
TestGradeBook.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
int main()
{
GradeBook gradeBook1("corso 1");
GradeBook gradeBook2("corso 2");
cout << gradeBook1.getCourseName() << "\n" << gradeBook2.getCourseName();
return 0;
}
Se compilo tutti i file singolarmente funziona. Mentre se voglio generare l'eseguibile sull'ultimo listato mi da questo errore:
g++ -Wall -o "TestGradeBook" "TestGradeBook.cpp" (nella cartella: /home/andrea/Documenti/C++/GradeBook)
/tmp/ccleJ9bv.o: In function `main':
TestGradeBook.cpp:(.text+0x45): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
TestGradeBook.cpp:(.text+0x92): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
TestGradeBook.cpp:(.text+0xba): undefined reference to `GradeBook::getCourseName()'
TestGradeBook.cpp:(.text+0xcf): undefined reference to `GradeBook::getCourseName()'
collect2: ld returned 1 exit status
Compilazione fallita.
Ragazzi avete avete qualche idea? Mi sto perdendo in un bicchiere d'acqua? :muro:
Grazie! :)
Questa è l'interfaccia
GradeBook.h
#include <string>
using namespace std;
class GradeBook{
private:
string courseName;
public:
void setCourseName(string);
string getCourseName();
GradeBook(string);
};
Questo è la definizione dell'interfaccia
GradeBook.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
void GradeBook::setCourseName(string name)
{
courseName = name;
}
string GradeBook::getCourseName()
{
return courseName;
}
GradeBook::GradeBook(string name)
{
setCourseName(name);
}
E questo è il sorgente con il Main
TestGradeBook.cpp
#include <iostream>
#include "GradeBook.h"
using namespace std;
int main()
{
GradeBook gradeBook1("corso 1");
GradeBook gradeBook2("corso 2");
cout << gradeBook1.getCourseName() << "\n" << gradeBook2.getCourseName();
return 0;
}
Se compilo tutti i file singolarmente funziona. Mentre se voglio generare l'eseguibile sull'ultimo listato mi da questo errore:
g++ -Wall -o "TestGradeBook" "TestGradeBook.cpp" (nella cartella: /home/andrea/Documenti/C++/GradeBook)
/tmp/ccleJ9bv.o: In function `main':
TestGradeBook.cpp:(.text+0x45): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
TestGradeBook.cpp:(.text+0x92): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
TestGradeBook.cpp:(.text+0xba): undefined reference to `GradeBook::getCourseName()'
TestGradeBook.cpp:(.text+0xcf): undefined reference to `GradeBook::getCourseName()'
collect2: ld returned 1 exit status
Compilazione fallita.
Ragazzi avete avete qualche idea? Mi sto perdendo in un bicchiere d'acqua? :muro:
Grazie! :)