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

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

Войти
Регистрация
Восстановить пароль
 
Юля_программист
 Аватар для Юля_программист
456 / 111 / 16
Регистрация: 04.05.2012
Сообщений: 545
Записей в блоге: 1
#1

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

09.11.2012, 15:48. Просмотров 967. Ответов 13
Метки нет (Все метки)

Добрый вечер, Уважаемые Программисты!

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

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

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

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

Где почитать про проекты я так и не нашла((((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 15:48     Состав проекта С++
Посмотрите здесь:

сколько функций входит в состав модуля Math C++
C++ Определить, входят ли в состав заданной строки цифры
Входят ли буквы 1 слова в состав 2 ого C++
C++ Структура «Железнодорожный состав»
принадлежит ли один вектор другому (входит ли в состав) C++
как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта C++
Определить процентный состав отличников и двоечников в каждой группе студентов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.11.2012, 16:02     Состав проекта С++ #5
Цитата Сообщение от Юля_программист Посмотреть сообщение
что писать в заголовочные файлы, а что в .cpp.
Из курса колледжа помню, что мы разбивали в h - вроде писали классы и их тела.
Ну в общем, ты уже ответила. В хидерах объявляешь, в cpp реализовываешь. Это просто соглашение, не обязанность.
Цитата Сообщение от Юля_программист Посмотреть сообщение
а как cpp
А cpp с чем ты хочешь связывать? Ты его компилируешь же
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты
Ты о каких вообще проектах. Не существует проектов "С++". С++ - это язык. У него нет "проекта".
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,460
Записей в блоге: 2
Завершенные тесты: 1
09.11.2012, 16:05     Состав проекта С++ #6
Цитата Сообщение от Юля_программист Посмотреть сообщение
Возник такой вопрос, ответ на который гугл мне не дал, поиск по форумы тоже промолчал.
На данную тему в интернете полно информации, да и во многих книжках тоже.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Так вот вопрос состоит в том, что писать в заголовочные файлы, а что в .cpp.
Ну тут уж дело хозяйское, но как правило, в h файлах объявления (функций, классов и т.д.), а в cpp их реализация.
Цитата Сообщение от Юля_программист Посмотреть сообщение
И еще вопрос как они связываются?
я знаю что через include подключаються h, а как cpp.
Если у Вас IDE, то она выполнит за Вас всю грязную работу. Поищите информацию на тему раздельной компиляции.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты я так и не нашла
Вы не нашли, а я не врубился что именно Вы не нашли =)
Юля_программист
 Аватар для Юля_программист
456 / 111 / 16
Регистрация: 04.05.2012
Сообщений: 545
Записей в блоге: 1
09.11.2012, 16:08  [ТС]     Состав проекта С++ #7
Цитата Сообщение от Vourhey Посмотреть сообщение
Не существует проектов "С++". С++ - это язык. У него нет "проекта".
я имею ввиду, что когда программа состоит не из одного файла, а из многих(и h и cpp)

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

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

Не по теме:

угу...

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

Не по теме:

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

Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12508 / 7070 / 794
Регистрация: 27.09.2012
Сообщений: 17,460
Записей в блоге: 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
Почетный модератор
6471 / 2246 / 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++ Жадный алгоритм. Оптимальный состав груза специй
C++ Непонятен состав класса
C++ Разработать программу «Железнодорожный состав»

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

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

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

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