Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> include, разъясните 
:(
    Опции темы
fMathEyes
Дата 26.12.2003, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.12.2003

Репутация: нет
Всего: нет




допустим создана простенькая программка
я ее хочу ради удобства разбить на отдельные блоки

Программка представляет из себя 10 функций
Подключать я буду через include

Код

#include "func1.h"
#include "func2.h"
//...и так далее




но я например хочу изменить порядок подключения(может не правильно выражаюсь)
тоесть первые 4 функции подключаются, 5 функция остается в cpp и остальные тоже подключаются

как сделать? (если в "эталонном" файле cpp порядок функций играет роль)
или же в сами .h подключать теже .h ?



PM MAIL   Вверх
_hunter
Дата 26.12.2003, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



не совсем понятно что имеется ввиду под 5 функция остается в cpp и что такое эталонный файл cpp smile.gif
файлы подключаются в порядке объявления.
если h файл использует функцию другого h - его нужно подключить.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
fMathEyes
Дата 27.12.2003, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.12.2003

Репутация: нет
Всего: нет



допустим написана программа в одном cpp файле состоящая из 5 функций
пример:

Код


int func1()
{
...
}
int func2()
{
...
}
int func3()
{
...
}
int func4()
{
...
}
int func5()
{
...
}




ради более удобной работы с кодом хочу 1-ые 2-е функции подключать через .h, 3-ю(func3) оставить где и был (в этом же cpp файле к которому и будут подключаться), а 4-ю и 5-ю функции тоже подключить. Порядок расположения функций в "простом" cpp файле играет роль.

если я буду подключать вот так, то у меня нефига не работает:
Код

//
//myprogram.cpp
//
#include func1.h
#include func2.h
#include func4.h
#include func5.h

int func3()
{
...
}



нужно чтобы код func4, func5 располагался после func3
или мудря подключениями(в один .h вставить другой .h и т.д.) можно добиться такого?


PM MAIL   Вверх
gray_k
Дата 27.12.2003, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1015
Регистрация: 9.1.2003
Где: Москва

Репутация: нет
Всего: 22



через .h подключаются не функции, а заголовочные файлы, в которых описаны классы, шаблоны и прототипы функций.


--------------------
С уважением.
Gray.
PM MAIL   Вверх
fMathEyes
Дата 27.12.2003, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 20.12.2003

Репутация: нет
Всего: нет



gray_k
а через что тогда
PM MAIL   Вверх
Гость_setq
Дата 27.12.2003, 13:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











я думаю, что
Код
#include "1"
#include "2"
int func3 () {}
#include "3"
#include "4"
main () {}
должно работать, т.к. #include лишь вставляет текст из файла.

вообще, если функция не inline, её лучше перенести в другой .cpp. у Страус-Трупа есть очень хорошее объяснение того, что надо помещать в .h файлы, а что не надо.

удачи
  Вверх
Гость_setq
Дата 27.12.2003, 13:20 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











упс оговорочка вышла.

имелось в виду, что файлы "func4.h" и "func5.h" можно подключить после определения func3 ()
  Вверх
Anklav
Дата 27.12.2003, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 9.12.2003
Где: Менск

Репутация: нет
Всего: 1



Вот, разберись с этим. Здесь показано как организуется связь файлов в C программах

Код

//f1.cpp
#include "f1.h"

int f1()
{
return 1;
}

Код

//f1.h
#ifndef f1_h
#define f1_h

int f1();

#endif

Код

//f2.cpp
#include "f2.h"
#include "f3.h" //без этого не будет работать

int f2()
{
return f3();
}

Код

//f2.h
#ifndef f2_h
#define f2_h

int f2();

#endif

Код

//f3.cpp
#include "f3.h"

int f3()
{
return 3;
}

Код

//f3.h
#ifndef f3_h
#define f3_h

int f3();

#endif

Код

//main.cpp
#include "f1.h"
#include "f2.h"
#include "f3.h"

#include "iostream.h"

void main()
{
cout<<f1()<<endl;
cout<<f2()<<endl;
cout<<f3()<<endl;
}

PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.