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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 90, средняя оценка - 4.72
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
#1

Зачем нужны header-файлы - C++

15.06.2012, 21:27. Просмотров 12876. Ответов 12
Метки нет (Все метки)

Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2012, 21:27     Зачем нужны header-файлы
Посмотрите здесь:

Зачем нужны сортировки - C++
Скажите пожалуйста, зачем при подготовке к олимпиаде по программированию, нужно учить алгоритмы: Быстрая сортировка, сортировка пузырьком и...

Зачем нужны деревья? - C++
Изучил тему деревья (осуществлял втавки, удаление, обходы и т.д.). Теперь хочу разобраться, зачем они вообще нужны? В каких случаях надо...

Зачем нужны указатели? - C++
Интересует вопрос, зачем нужны указатели? Например почему лучше нужно объявлять переменные как указатели, почему как обычно нельзя? ...

Зачем нужны указатели - C++
Не могу понять синтаксис указателей. Понял, что это работа с адресами, что оператор & это адрес. А вот * как я понял, это объявление...

Зачем нужны операторы << и >> - C++
В книжке Дейтлов есть код http://pic.ipicture.ru/uploads/091222/thumbs/q1TZw4n1JQ.jpg Вопрос в том, что там где написано, что числа...

Зачем нужны классы? - C++
Изучаю СИ++ после изучения СИ. Не пойму какой смысл в классах. То что они делают можно реализовать с помощью функций, структур и обычных...

Зачем нужны макросы? - C++
Зачем нужны макросы?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
6993 / 4164 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
15.06.2012, 21:39     Зачем нужны header-файлы #2
В них определены константы, функции и классы, с которыми вы потом работаете.
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
15.06.2012, 21:47     Зачем нужны header-файлы #3
Заголовочные файлы.
Байт
Эксперт C
15661 / 9988 / 1499
Регистрация: 24.12.2010
Сообщений: 18,763
15.06.2012, 21:57     Зачем нужны header-файлы #4
Цитата Сообщение от ZubSam Посмотреть сообщение
Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?
Цитата Сообщение от MrGluck Посмотреть сообщение
В них определены константы, функции и классы, с которыми вы потом работаете.
В простейших случаях можно обойтись и без них
C
1
2
3
4
main()
{
 printf("Hello, Chuvaki!\n");
}
И большинство трансляторов эту штуку с удовольствием схавает и даже выдаст ожидаемый результат
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
15.06.2012, 21:58  [ТС]     Зачем нужны header-файлы #5
Цитата Сообщение от Байт Посмотреть сообщение
В простейших случаях можно обойтись и без них
Код C
1
2
3
4
5
6
main()
{
*printf("Hello, Chuvaki!\n");
}
но ведь такая запись идет только для языка С
MrGluck
Модератор
Эксперт CЭксперт С++
6993 / 4164 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
15.06.2012, 22:30     Зачем нужны header-файлы #6
Цитата Сообщение от Байт Посмотреть сообщение
И большинство трансляторов эту штуку с удовольствием схавает и даже выдаст ожидаемый результат
Ну не с удовольствием, перед этим поворчит немного.
Байт
Эксперт C
15661 / 9988 / 1499
Регистрация: 24.12.2010
Сообщений: 18,763
15.06.2012, 22:55     Зачем нужны header-файлы #7
Цитата Сообщение от ZubSam Посмотреть сообщение
но ведь такая запись идет только для языка С
C является по идее строгим подмножеством C++. => все что идет на C должно (опять же по идее) прекрасно идти и на C++. Хотя разработчики трансляторов часто эту идею игнорируют...
Цитата Сообщение от MrGluck Посмотреть сообщение
Ну не с удовольствием, перед этим поворчит немного.
Это как настроить. Мои не ворчат.
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
16.06.2012, 03:05     Зачем нужны header-файлы #8
Цитата Сообщение от ZubSam Посмотреть сообщение
Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?
Реализация идеи отделения интерфейса от реализации. Т.е для удобства чтения кода.
Подобно книги: в книге есть содержание(хедер) и собственно текст,главы,страницы,строки...соответствующие этому содержанию...

Перед компиляцией текст хедора попадает "внутрь" cpp файла и после компиляции это становится одним obj-файлом.

Если я ошибаюсь то поправьте меня....
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.06.2012, 18:48     Зачем нужны header-файлы #9
ZubSam, ну вот представь: подключаешь ты стороннюю dll, в ней функции. Ты что, сам будешь перебивать прототип функции? Её определение ведь заведомо не предшествует вызову.

Добавлено через 1 минуту
Цитата Сообщение от Байт Посмотреть сообщение
C является по идее строгим подмножеством C++
нет. На сях поддерживается синтаксис, запрещённый на плюсах. Например, void main.
ZubSam
12 / 12 / 1
Регистрация: 24.03.2012
Сообщений: 238
16.06.2012, 18:53  [ТС]     Зачем нужны header-файлы #10
если я правильно понял, то в header файлах содержатся прототипы функций, например в cmath находится прототип функции sqrt, я прав?
Avazart
7101 / 5278 / 267
Регистрация: 10.12.2010
Сообщений: 23,283
Записей в блоге: 17
16.06.2012, 18:58     Зачем нужны header-файлы #11
аходится прототип функции sqrt, я прав?
Если ты имеешь ввиду math.h, то да... - но это уже разговор о библиотеках
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.06.2012, 18:58     Зачем нужны header-файлы #12
Не всегда и не только. В головах валяется всё, что надо многократно повторять в других файлах. Реализации функций нет смысла дублировать именно в самих файлах, каждый obj просто умеет их экспортировать, после чего они могут исполняться даже при вызове извне. Но то, что необходимо повторять именно в каждом cpp, а не импортировать в obj из другого такого же, пишется в головах.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2012, 11:00     Зачем нужны header-файлы
Еще ссылки по теме:

Зачем нужны итераторы? - C++
Практическое использование мне понятно - с их помощью обходят контейнеры и т.д и т.п.Но почему не реализовать нужные методы,перегрузить...

Зачем нужны исключения? - C++
Добрый вечер, прочитал статью об исключениях, не очень понимаю, почему бы не заменить их просто оператором if? Вот код с исключением: ...

Зачем нужны адапторы контейнеров? - C++
Объясните, пожалуйста, зачем нужны адаптеры контейнеров. Не понимаю смысл их существования, у них и функции какие-то кривые по сравнению с...

Зачем нужны модификаторы типов? - C++
Читаю Шилдта и все более менее понятно,но насчет unsigned , signed , shot , long что то вообще дыра в понимании и их пропускал,а потом...

Зачем нужны виртуальные методы? - C++
Тут она не виртуальная Student s; Person &amp;p = s; s.name(); //Student::name() p.name(); //Person::name() А тут наоборот ...


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

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17469 / 5707 / 362
Регистрация: 30.03.2009
Сообщений: 15,669
Записей в блоге: 26
17.06.2012, 11:00     Зачем нужны header-файлы #13
Цитата Сообщение от ZubSam Посмотреть сообщение
Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?
Как работает директива include вкратце:
Для чего нужен define?
подробно:
http://www.cyberforum.ru/blogs/18334/blog100.html далее раздел 2

Добавлено через 3 минуты
Цитата Сообщение от Байт Посмотреть сообщение
C является по идее строгим подмножеством C++. => все что идет на C должно (опять же по идее) прекрасно идти и на C++.
Вот тебе примеры, когда один и тот же код работает по разному на Си и Си++:

http://www.cyberforum.ru/cpp-experts...tml#post889459
http://www.cyberforum.ru/cpp-experts...tml#post889587

Не говоря уж о твоём "простейшем" примере. На Си разрешён вызов функции без прототипа, на Си++ - нет. Думать, что программа, написанная на Си, с полпинка заработает на Си++ - одно из стандартных заблуждений

Цитата Сообщение от Байт Посмотреть сообщение
Хотя разработчики трансляторов часто эту идею игнорируют...
Разработчики опираются на документы под названием (грубо говоря) "Стандарт Си" и "Стандарт Си++". И твой взгляд на этот вопрос их мало интересует
Yandex
Объявления
17.06.2012, 11:00     Зачем нужны header-файлы
Ответ Создать тему
Опции темы

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