Форум программистов, компьютерный форум, киберфорум
Наши страницы

Реализация класса в отдельном файле - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу понять, почему так заполняется вектор http://www.cyberforum.ru/cpp-beginners/thread869250.html
Всем привет, возникла вот такая вот проблема с циклом: //функция который ищет мин и 2 макс элемента в спектре double CspectralevaluationDlg::search_interf_max_and_min(vector<double>A) { double...
C++ Дано целое число N. Определите, есть ли в числе 2N цифра, равная введѐнной цифре К. Дано целое число N. Определите, есть ли в числе 2N цифра, равная введѐнной цифре К. http://www.cyberforum.ru/cpp-beginners/thread869246.html
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты. C++
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Airplane (самолет). Определить конструктор и деструктор. Реализовать объявленные методы доступа к данным. C++
решите пожалуйста вот эту задачу, вроде бы простая.. и если можно объясните, что где что значит. (С++) Разработать класс Airplane (самолет). Определить конструктор и деструктор. Реализовать...
C++ Ввести с клавиатуры число N и записать в новый файл, те слова, в которых содержится ровно N-одинаковых букв http://www.cyberforum.ru/cpp-beginners/thread869234.html
Имеется тестовый файл, с текстом на английском языке. Ввести с клавиатуры число N и записать в новый файл, те слова, в которых содержится ровно N-одинаковых букв.
C++ Не отправляются заголовки из-за переноса \r\n Из за переноса строки \r\n заголовки не отправляются cout<<GetLastError(); дает 12150.. Если убрать переносы, то заголовок отправиться, но сервер примет все в кучу и не разберет.... мне тут POST... подробнее

Показать сообщение отдельно
БелыйКлык
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 2

Реализация класса в отдельном файле - C++

18.05.2013, 15:17. Просмотров 1269. Ответов 3
Метки (Все метки)

Изучаю C++ (вернее только начал) по учебнику "Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++" и застрял на создании классов в отдельном файле с разбиением на интерфейс и реализацию.

Есть 3 файла:
Заголовочный класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
using std::string;
 
class GradeBook
{
    public:
        GradeBook(string);
        void setCourseName(string);
        string getCourseName();
        void displayMessage();
 
    private:
        string courseName;
 
 
};
Реализация класса:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using std::cout;
using std::endl;
 
#include "GradeBook.h"
 
GradeBook::GradeBook (string name)
{
    setCourseName(name);
}
 
void GradeBook::setCourseName (string name)
{
    courseName=name;
}
 
string GradeBook::getCourseName()
{
    return courseName;
}
 
void GradeBook::displayMessage()
{
    cout << "Добро пожаловать\n Курс: " << getCourseName() << endl;
}
И сама программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
#include "GradeBook.h"
 
int main()
{
    GradeBook mygr("azzzzz");
    string nameOfCourse;
 
    cout << "Текущий курс: " << mygr.getCourseName() << endl;
    
    cout << "Введите курс: ";
    getline(cin, nameOfCourse);
    cout << endl;
    mygr.setCourseName(nameOfCourse);
 
    mygr.displayMessage();
 
    return 0;
}
При сборке линковщик выдаёт ошибки:
main.cpp|10| undefined reference to `GradeBook::GradeBook(std::string)'
main.cpp|13| undefined reference to `GradeBook::getCourseName()'
main.cpp|18| undefined reference to `GradeBook::setCourseName(std::string)'
main.cpp|20| undefined reference to `GradeBook::displayMessage()'

В учебнике по этому поводу ничего не написано, разобраться с ошибкой самостоятельно пока не могу, хотя догадываюсь в чём проблема (насколько я понял основная программа просто "не знает" где находится реализация данного класса).
Хотелось бы узнать чем вызвана данная проблема и как её можно решить.

ОС: Linux (Archlinux)
Компилятор: g++
IDE не использую, вместо этого пишу в vim с плагином c.vim
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru