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

Состав проекта С++ - C++

Восстановить пароль Регистрация
 
Юля_программист
 Аватар для Юля_программист
449 / 104 / 14
Регистрация: 04.05.2012
Сообщений: 525
Записей в блоге: 1
09.11.2012, 15:48     Состав проекта С++ #1
Добрый вечер, Уважаемые Программисты!

Возник такой вопрос, ответ на который гугл мне не дал, поиск по форумы тоже промолчал.

При создание проекта весь код разноситься по разным файлам с расширением .h и .cpp.
Так вот вопрос состоит в том, что писать в заголовочные файлы, а что в .cpp.

Из курса колледжа помню, что мы разбивали в h - вроде писали классы и их тела.

И еще вопрос как они связываются?
я знаю что через include подключаються h, а как cpp.

Где почитать про проекты я так и не нашла((((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Skitalec
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 10
09.11.2012, 15:55     Состав проекта С++ #2
Здравствуйте, уважаемые гуру!

Не бросайте камнями в нас, новичков.

Ответ на этот вопрос для нас действительно очень важен.

Спасибо!
Юля_программист
09.11.2012, 15:58  [ТС]
  #3

Не по теме:

Skitalec, это что за троль?

Skitalec
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 10
09.11.2012, 16:01     Состав проекта С++ #4
Цитата Сообщение от Юля_программист Посмотреть сообщение

Не по теме:

Skitalec, это что за троль?

Я хотел поддержать Ваш вопрос. Так сказать, обозначить его значимость.

Откуда такая нетерпимость?

Я Вас обидел?
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.11.2012, 16:02     Состав проекта С++ #5
Цитата Сообщение от Юля_программист Посмотреть сообщение
что писать в заголовочные файлы, а что в .cpp.
Из курса колледжа помню, что мы разбивали в h - вроде писали классы и их тела.
Ну в общем, ты уже ответила. В хидерах объявляешь, в cpp реализовываешь. Это просто соглашение, не обязанность.
Цитата Сообщение от Юля_программист Посмотреть сообщение
а как cpp
А cpp с чем ты хочешь связывать? Ты его компилируешь же
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты
Ты о каких вообще проектах. Не существует проектов "С++". С++ - это язык. У него нет "проекта".
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
09.11.2012, 16:05     Состав проекта С++ #6
Цитата Сообщение от Юля_программист Посмотреть сообщение
Возник такой вопрос, ответ на который гугл мне не дал, поиск по форумы тоже промолчал.
На данную тему в интернете полно информации, да и во многих книжках тоже.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Так вот вопрос состоит в том, что писать в заголовочные файлы, а что в .cpp.
Ну тут уж дело хозяйское, но как правило, в h файлах объявления (функций, классов и т.д.), а в cpp их реализация.
Цитата Сообщение от Юля_программист Посмотреть сообщение
И еще вопрос как они связываются?
я знаю что через include подключаються h, а как cpp.
Если у Вас IDE, то она выполнит за Вас всю грязную работу. Поищите информацию на тему раздельной компиляции.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты я так и не нашла
Вы не нашли, а я не врубился что именно Вы не нашли =)
Юля_программист
 Аватар для Юля_программист
449 / 104 / 14
Регистрация: 04.05.2012
Сообщений: 525
Записей в блоге: 1
09.11.2012, 16:08  [ТС]     Состав проекта С++ #7
Цитата Сообщение от Vourhey Посмотреть сообщение
Не существует проектов "С++". С++ - это язык. У него нет "проекта".
я имею ввиду, что когда программа состоит не из одного файла, а из многих(и h и cpp)

А если срр много??
Вот пример у меня в примере(тафтология какая) математика движения вынесена отдельно в cpp.А в h только описаны названия функций, и структура. А тела в cpp. И есть один файл с main.
Мне не понять зачем выносить все это в отдельный файл и как потом программа понимает откуда, что она берет.

Вот как то так)
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.11.2012, 16:12     Состав проекта С++ #8
Цитата Сообщение от Юля_программист Посмотреть сообщение
я имею ввиду, что когда программа состоит не из одного файла, а из многих(и h и cpp)
Это все равно не проект. Компилируются файлы в отдельные объектные модули, потом линкуются, на выходе - бинарь готовый.
Цитата Сообщение от Юля_программист Посмотреть сообщение
А если срр много??
см. выше.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Мне не понять зачем выносить все это в отдельный файл и как потом программа понимает откуда, что она берет.
Если ты работаешь в IDE, то читай про формат ее проектов. А можно не читать. Достаточно открыть файл проекта сам, они мне только текстовые попадались. Почитай про make-файлы - отличный пример, как это может быть реализовано.
Юля_программист
 Аватар для Юля_программист
449 / 104 / 14
Регистрация: 04.05.2012
Сообщений: 525
Записей в блоге: 1
09.11.2012, 16:16  [ТС]     Состав проекта С++ #9
Ладно буду походу разбираться, может на практике вспомню)
Vourhey
09.11.2012, 16:17
  #10

Не по теме:

угу...

Юля_программист
09.11.2012, 16:18  [ТС]
  #11

Не по теме:

Цитата Сообщение от Vourhey Посмотреть сообщение
"линкуется"
такие слова я пока не знаю)
К сожалению, но придет момент и они не будут вводить меня в ступор)

Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
09.11.2012, 16:20     Состав проекта С++ #12
Цитата Сообщение от Юля_программист Посмотреть сообщение
Мне не понять зачем выносить все это в отдельный файл и как потом программа понимает откуда, что она берет.
Всю "грязную" работу за Вас делает Visual Studio.
Если брать чистый компилятор, то для "сборки" exe нужно будет вводить в командной строке что-то вроде (это для mingw):
g++ fail1.cpp fail2.cpp fail3.cpp -o myprogramm.exe
или делать makefile
А вообще, как написал Vourhey, почитайте про makefile, думаю, многое прояснится
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.11.2012, 16:24     Состав проекта С++ #13
Да логика-то везде прозрачная. Допустим, есть файл main. Есть файлы с описанием класса 1.h и 1.cpp.
Если брать make-файлы (как пример "проекта"), то, там можно прописать зависимости, типа "чтобы скомпилировать main, нужен модуль 1". В другом месте файла написано: чтобы получить модуль 1, то нужно скомпилять 1.h и 1.cpp. Программа make учитывает зависимости, сначала компилирует 1.h и 1.cpp в объектный модуль, потом запускает компиляцию main и подсовывает ему, готовый модуль 1. И так для любого кол-ва файлов. Это пример. Само собой, можно делать и по-другому.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 15:06     Состав проекта С++
Еще ссылки по теме:

как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта C++
Структура «Железнодорожный состав» C++

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

Или воспользуйтесь поиском по форуму:
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
20.11.2012, 15:06     Состав проекта С++ #14
я бы советовал разделять классы в соответствии с сущностями. например не пишите методы для обработки массивов в классе предназначенном для обработки строк, сделайте отдельный класс для массивов. Если у вас есть в предметной области какая то сущность(например лифт), так прямо и создавайте класс Lift, в отдельном файле класс Button например, для вызова лифта.

Желательно придерживаться правила: один класс - одна связка .h и .cpp
Yandex
Объявления
20.11.2012, 15:06     Состав проекта С++
Ответ Создать тему
Опции темы

Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru