Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Юля_программист
473 / 128 / 20
Регистрация: 04.05.2012
Сообщений: 617
Записей в блоге: 1
#1

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

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

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

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

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

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

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

Где почитать про проекты я так и не нашла((((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 15:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Состав проекта С++ (C++):

Непонятен состав класса - C++
Не могли бы ли вы объяснить выделенные 10 строк??? #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstring> #include...

Структура «Железнодорожный состав» - C++
Структура «Железнодорожный состав» с полями "номер поезда", "пункт отправления", "пункт назначения", "количество вагонов СВ", "количество...

Структура «Железнодорожный состав» - C++
Структура «Железнодорожный состав» с полями "номер поезда", "количество вагонов", "модель вагонов" (в одном составе используются вагоны...

как в решение из двух проектов из второго проекта обращаться к функциям из первого проекта - C++
Собственно данная задача возникает, когда в Blank Solution добавляем проект модульных тестов к первому проекту Empty C++. К примеру первый...

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

Входят ли буквы 1 слова в состав 2 ого - C++
Даны 2 строки , проверить входит ли первая(и остальные буквы по одной) первого слова, в состав второго слова, если да, то печатать "Да"...

13
Skitalec
0 / 0 / 0
Регистрация: 08.11.2012
Сообщений: 10
09.11.2012, 15:55 #2
Здравствуйте, уважаемые гуру!

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

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

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

Не по теме:

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

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

Не по теме:

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

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

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

Я Вас обидел?
0
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
09.11.2012, 16:02 #5
Цитата Сообщение от Юля_программист Посмотреть сообщение
что писать в заголовочные файлы, а что в .cpp.
Из курса колледжа помню, что мы разбивали в h - вроде писали классы и их тела.
Ну в общем, ты уже ответила. В хидерах объявляешь, в cpp реализовываешь. Это просто соглашение, не обязанность.
Цитата Сообщение от Юля_программист Посмотреть сообщение
а как cpp
А cpp с чем ты хочешь связывать? Ты его компилируешь же
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты
Ты о каких вообще проектах. Не существует проектов "С++". С++ - это язык. У него нет "проекта".
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
09.11.2012, 16:05 #6
Цитата Сообщение от Юля_программист Посмотреть сообщение
Возник такой вопрос, ответ на который гугл мне не дал, поиск по форумы тоже промолчал.
На данную тему в интернете полно информации, да и во многих книжках тоже.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Так вот вопрос состоит в том, что писать в заголовочные файлы, а что в .cpp.
Ну тут уж дело хозяйское, но как правило, в h файлах объявления (функций, классов и т.д.), а в cpp их реализация.
Цитата Сообщение от Юля_программист Посмотреть сообщение
И еще вопрос как они связываются?
я знаю что через include подключаються h, а как cpp.
Если у Вас IDE, то она выполнит за Вас всю грязную работу. Поищите информацию на тему раздельной компиляции.
Цитата Сообщение от Юля_программист Посмотреть сообщение
Где почитать про проекты я так и не нашла
Вы не нашли, а я не врубился что именно Вы не нашли =)
0
Юля_программист
473 / 128 / 20
Регистрация: 04.05.2012
Сообщений: 617
Записей в блоге: 1
09.11.2012, 16:08  [ТС] #7
Цитата Сообщение от Vourhey Посмотреть сообщение
Не существует проектов "С++". С++ - это язык. У него нет "проекта".
я имею ввиду, что когда программа состоит не из одного файла, а из многих(и h и cpp)

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

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

Не по теме:

угу...

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

Не по теме:

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

0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
09.11.2012, 16:20 #12
Цитата Сообщение от Юля_программист Посмотреть сообщение
Мне не понять зачем выносить все это в отдельный файл и как потом программа понимает откуда, что она берет.
Всю "грязную" работу за Вас делает Visual Studio.
Если брать чистый компилятор, то для "сборки" exe нужно будет вводить в командной строке что-то вроде (это для mingw):
g++ fail1.cpp fail2.cpp fail3.cpp -o myprogramm.exe
или делать makefile
А вообще, как написал Vourhey, почитайте про makefile, думаю, многое прояснится
0
Vourhey
Почетный модератор
6486 / 2260 / 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. И так для любого кол-ва файлов. Это пример. Само собой, можно делать и по-другому.
0
XRuZzz
Антикодер
687 / 593 / 29
Регистрация: 15.09.2012
Сообщений: 2,541
20.11.2012, 15:06 #14
я бы советовал разделять классы в соответствии с сущностями. например не пишите методы для обработки массивов в классе предназначенном для обработки строк, сделайте отдельный класс для массивов. Если у вас есть в предметной области какая то сущность(например лифт), так прямо и создавайте класс Lift, в отдельном файле класс Button например, для вызова лифта.

Желательно придерживаться правила: один класс - одна связка .h и .cpp
0
20.11.2012, 15:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 15:06
Привет! Вот еще темы с ответами:

Жадный алгоритм. Оптимальный состав груза специй - C++
Добрый вечер, можете подсказать как в данной задачи использовать Жадный алгоритм? Капитан корабля, остановился на заброшенном острове,...

Проверить, входит ли один вектор в состав другого - C++
Задача состоит в том, что надо проверить входит ли один вектор в состав другого, нужно вывести 1 или 0 (true или false). Проблема такова,...

Сколько функций входит в состав модуля Math? - C++
Кто знает сколько функций входит в состав модуля Math

Определить, входят ли в состав заданной строки цифры - C++
Здравствуйте. 1.Дана строка символов до точки.Определить,входят ли в состав заданной строки цифры.Сформировать из них новую строку. ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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