Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не могу понять, почему так заполняется вектор http://www.cyberforum.ru/cpp-beginners/thread869250.html
Всем привет, возникла вот такая вот проблема с циклом: //функция который ищет мин и 2 макс элемента в спектре double CspectralevaluationDlg::search_interf_max_and_min(vector<double>A) { double temp=A; double max_1=0, max_2=0; int calc_max_1=0,calc_max_2=0,calc_min=0; double min_interf=0; CString quest; for(int i=0;i<A.size()/2;i++)
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 отправить нужно.. в чем беда ? заголовок в таком стиле нужно отправить: POST http://www.site.ru/file.php HTTP/1.0\r\n Host: www.site.ru\r\n Content-Type: application/x-www-form-urlencoded\r\n... подробнее

Показать сообщение отдельно
БелыйКлык
 Аватар для БелыйКлык
0 / 0 / 0
Регистрация: 18.05.2013
Сообщений: 2
18.05.2013, 15:17     Реализация класса в отдельном файле
Изучаю 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
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru