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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Lynx607
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 19
#1

Работа с заголовочным файлом - C++

21.05.2011, 01:13. Просмотров 2060. Ответов 25
Метки нет (Все метки)

Здравствуйте!
В папке лежит несколько файлов: main.cpp, dualsimplex.h, dualsimplex.cpp
Задача: в main.cpp создать объект класса 'DualSimplex' и вызвать функцию 'SetData'

main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
#include "dualsimplex.h"
#include <iostream>
using namespace std;
 
int main ()
{
    DualSimplex problem;
    problem.SetData ();
        
    return 0;
}
dualsimplex.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef DUALSIMPLEX_H
#define DUALSIMPLEX_H
 
#include <string>
#include <fstream>
#include <iostream>
using namespace std;
 
class DualSimplex
{
...
public:
    DualSimplex();
    void SetData();
    void SetData( string in );
}
dualsimplex.cpp:
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
26
27
28
29
#include "dualsimplex.h"
#include "tools.h"
#include <iostream> 
#include <fstream>
#include <sstream>
#include <iomanip>
#include <cstring>
#include <cstdlib>
#include <cmath>
using namespace std;
 
DualSimplex::DualSimplex()
{
    for ( int i = 0; i < MAX_NUMBER_OF_VARIABLES; i++ )
    {
        b[i] = 0;
        dual_s[i] = 0;
    }
...
}
 
void DualSimplex::SetData()
{
    char sType[3];
    cout << "Enter the type of problem (\"max\" or \"min\"): ";
    cin >> sType;
    cout << endl;
...
}
компилирую:
Bash
1
2
3
4
5
g++ main.cpp -o test
/tmp/cczMYHXr.o: In function `main':
main.cpp:(.text+0x7a): undefined reference to `DualSimplex::DualSimplex()'
main.cpp:(.text+0x88): undefined reference to `DualSimplex::SetData()'
collect2: ld returned 1 exit status
почитал, что умные люди пишут - заменил в main.cpp 'DualSimplex problem;' на 'DualSimplex problem();':
Bash
1
2
3
g++ main.cpp -o test
main.cpp: In function ‘int main()’:
main.cpp:9: error: request for member ‘SetData’ in ‘problem’, which is of non-class type ‘DualSimplex ()()

Не могу понять - небольшие изменения, а ошибки подключения переходят в ошибки вызова функций класса. Почему?
И как правильно создать объект, а потом вызвать функцию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 01:13     Работа с заголовочным файлом
Посмотрите здесь:

Подскажите с заголовочным файлом - C++
есть заголовочный фаил header.h: #include&lt;iostream.h&gt; void fn_void(int m) { m=9; cout&lt;&lt;m; } и есть основная программа: ...

Программа с заголовочным файлом (с++) - C++
Всем Привет! Недавно стал изучать использование заголовочных файлов в с++ и столкнулся с проблеммой. Написал вот такую программу (она...

Компиляция с заголовочным файлом - C++
Стыдно спрашивать но все же. Никак не пойму как компилировать несколько файлов с заголовочным файлом. Вот что мне отвечает Dev-Cpp ...

Cоздание проги с заголовочным файлом - C++
У меня не получается создать простейшую программку с заголовочным файлом. Я создаю заголовочный файл my.h к примеру такой: void...

Невозможно открыть include с заголовочным файлом - C++
Подскажите решение проблемы что только не пробовал не помогает fatal error C1083: Cannot open include file: 'tinystr.h': No such file or...

Работа с файлом - C++
В двумерном массиве подсчитать сумму элементов в каждом столбце и вывести ответы в файл! Пример 1 2 3 4 5 6 7 8 9 в файл...

Работа с файлом - C++
в общем есть некая решенная задача которая имеет классы и методы(ввода и вывода) для них, нужно ювелирно переделать методы так чтоб они...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.05.2011, 11:44     Работа с заголовочным файлом #16
kravam, В std слишком много всего) Например тот же max или min. Все время выбирать нечто ради того, чтобы не пересечься с пространством имен... Ну это как минимум глупо.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
21.05.2011, 11:49     Работа с заголовочным файлом #17
Да не, я просто помню служебные слова. Вот Вы помните служебные слова C? А я буду помнить служебные слова STD- раз использовал и запомнил.
А может и не буду. Но до сих пор всегда помнил.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.05.2011, 21:58     Работа с заголовочным файлом #18
kravam, Все?) Ну перечислите с 10-к...

Кстати. th_element - функция STL?
а get_temporary_buffer?
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
22.05.2011, 00:32     Работа с заголовочным файлом #19
Я говорю, стоит один раз использовать имя как имя из пространства std, сразу запомнится; а я эти имена не использовал, поэтому за них ничего не знаю.
Lynx607
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 19
22.05.2011, 00:34  [ТС]     Работа с заголовочным файлом #20
Господа, у kravam в подписи к нику всё ясно написано. Да и вообще, использовать или нет 'using namespace std;' в h-файлах, каждый решает сам - Вы согласны?
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
22.05.2011, 06:43     Работа с заголовочным файлом #21
Цитата Сообщение от Lynx607 Посмотреть сообщение
Вы согласны?
Нет. Не согласны.
То, что в одной книжке про это не сказано не означает, что в других книгах про это тоже умалчивают.
В любом достаточно крупном проекте, использующем сторонние библиотеки, вопрос пространств имён стоит очень остро. Как же все программисты любят создавать классы string и vector и им подобные...
Lynx607
0 / 0 / 0
Регистрация: 18.10.2010
Сообщений: 19
22.05.2011, 13:36  [ТС]     Работа с заголовочным файлом #22
Deviaphan, я спросил потому, что каждый волен выбирать тот вариант, который ему больше нравится. Другой вопрос - правильный это выбор или нет.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
22.05.2011, 13:51     Работа с заголовочным файлом #23
Тогда, давайте все функции и классы помещать в пространство std. Откажемся от разделения на файлы, будем всё в один cpp файл писать (это ведь и скорость компиляции повысит!). Откажемся от закрытых полей и методов - не удобно же! Ну и так далее... А что? Может мне так нравится!
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
22.05.2011, 15:37     Работа с заголовочным файлом #24
Я вот это не пойму:
Цитата Сообщение от Deviaphan Посмотреть сообщение
Как же все программисты любят создавать классы string и vector и им подобные...
гадал-гадал чё это значит и не понял. Действовать так плохо или хорошо? По мне так плохо, я делаю vector_
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
22.05.2011, 15:39     Работа с заголовочным файлом #25
Цитата Сообщение от kravam Посмотреть сообщение
По мне так плохо, я делаю vector_
А я во первых не делаю, а во вторых помещаю в пространство имён (не std).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.05.2011, 15:48     Работа с заголовочным файлом
Еще ссылки по теме:

Работа с файлом - C++
Имеется текст документа, состоящий из нескольких параграфов. Каждый параграф начинается с заголовка и отделен пустой строкой от предыдущего...

c++ работа с файлом - C++
Здраствуйте,в си знания - средненькие,мне предоставилась задача - нужно згенерировать файл для ипфильтра торрента,с сайта провайдера мне...

Работа с файлом в С++ - C++
Всем привет! Я никогда не работал с С++, но возникла необходимость чтения-записи в файл на С++. А если еще точнее Embedded C++. Не...

Работа с файлом - C++
Добрый вечер форумчане. Прошу помочь мне в написание программы. Речь идет о простой последовательности. Количество чисел, равных...

Работа с файлом - C++
Помогите если не затруднит. Есть текстовый файл(примерно такой): A asdada qweqw A ijiijij nvbjk rtrt A


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
22.05.2011, 15:48     Работа с заголовочным файлом #26
kravam, Ну вот смотри... Пишем класс список например. Какое нормальное название? List не так-ли? Так на кой фиг измудряться?
Или класс Stack или Queue...
Гораздо логичнее написать так и поместить в собственное пространство имен, а так же не включать std в этом заголовочном файле...
Yandex
Объявления
22.05.2011, 15:48     Работа с заголовочным файлом
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru