Я новичок для C++, сейчас я изучаю его с помощью книги C++ How To Program 8e. В разделе "Разделение интерфейса от реализации" приведен пример, подобный этому
#include <string>
using namespace std;
class GradeBook
{
public:
GradeBook( string );
void setCourseName( string );
string getCourseName();
void displayMessage();
private:
string courseName;
};
#include <iostream>
#include "GradeBook.h"
using namespace std;
GradeBook::GradeBook( string name )
{
setCourseName( name );
}
void GradeBook::setCourseName( string name )
{
courseName = name;
}
string GradeBook::getCourseName()
{
return courseName;
}
void GradeBook::displayMessage()
{
cout << "welcome to the grade book for\n" << getCourseName()
<< "!" << endl;
}
#include <iostream>
#include "GradeBook.h"
using namespace std;
int main()
{
GradeBook gradeBook1( "CS101 Introduction to C++ Programming" );
GradeBook gradeBook2( "CS102 Data Structures in C++" );
cout << "gradeBook1 created for: " << gradeBook1.getCourseName()
<< "\ngradeBook2 created for: " << gradeBook2.getCourseName()
<< endl;
}
Когда я выполняю это с помощью CodeBlocks, я получаю сообщение об ошибке со следующей информацией
D:\C++\SIFI\main.o:main.cpp|| undefined reference to 'GradeBook::GradeBook(std::string)'|
D:\C++\SIFI\main.o:main.cpp|| undefined reference to 'GradeBook::GradeBook(std::string)'|
D:\C++\SIFI\main.o:main.cpp|| undefined reference to 'GradeBook::getCourseName()'|
D:\C++\SIFI\main.o:main.cpp|| undefined reference to 'GradeBook::getCourseName()'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Я абсолютный новичок и, пожалуйста, помогите.
Некоторая ошибка кода :: Блоки... Иногда ваши файлы cpp не добавляются в ваш проект, вы должны добавить его самостоятельно в свой проект. (что-то вроде "файл> добавить файл> существующий файл"?)
Если вы используете кодовые блоки, вам нужно сначала создать проект. После создания проекта просто откройте столбец проекта из указанных выше вкладок и нажмите "Добавить файлы". Затем добавьте все основные файлы.h,.cpp. Теперь скомпилируйте его и сделайте!
cpp
в сборке. Я не знаю CodeBlocks, но, вероятно, вы создаете «проект» или что-то; убедитесь, что вы добавили оба файла к этому.