Ciao a tutti. Sto imparando il c++ (linux), e mi sto riferendo a un libro che ho comprato.
Questo libro dice che è possibile separare le definizioni delle classi (e le loro relative funzioni) in un file (.h), ma tenere l'implementazione di queste funzioni in un altro file (.cpp), che facendo riferimento all'header accede ugualmente alle funzioni. La mia domanda è...
Ho scritto il programma esempio sul libro (uguale, tranne i commenti), con un file .h per la classe, un .cpp per le funzioni e un altro .cpp per il main...
Come faccio a compilarlo? Se tento di compilare il main con "g++ main.cpp" mi dà il seguente output:
main.cpp.text+0x50): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
main.cpp.text+0xe9): undefined reference to `GradeBook::GradeBook(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
main.cpp.text+0x136): undefined reference to `GradeBook::getCourseName()'
main.cpp.text+0x168): undefined reference to `GradeBook::getCourseName()'
main.cpp.text+0x256): undefined reference to `GradeBook::setCourseName(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
main.cpp.text+0x2a3): undefined reference to `GradeBook::getCourseName()'
main.cpp.text+0x2d5): undefined reference to `GradeBook::getCourseName()'
collect2: ld returned 1 exit status
C'è un'opzione di main che mi fa compilare in modo corretto?