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

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

Войти
Регистрация
Восстановить пароль
 
gundos111
1 / 1 / 0
Регистрация: 24.07.2012
Сообщений: 8
#1

Как правильно организовать большой проект? - C++

24.07.2012, 09:48. Просмотров 1067. Ответов 5
Метки нет (Все метки)

В будущем хочу участвовать в разработке игр - начал изучать С++, вопрос тут такой, как правильно организовать структуру достаточно большого проекта? в учебниках, с примерами в 1-2 файла все просто, но когда их становиться больше - я начинаю путатся.

Например, пробую сделать примитивную 3Д модельку солнечной системы.
есть некий базовый класс 3Д объекта, ответственный за перемещение и отрисовку 3Д-модели.
есть несколько более конкретных классов - планеты, астероиды, и т. д (планируется сделать достаточно много объектов с разным поведением). все они используют базовый класс 3Д объекта.
Далее есть сам класс звездной системы, который, в свою очередь, использует классы планет и астероидов.

Каждый класс я описываю в отдельном файле:
Заголовок и реализация 3Д модели:
Object3D.h
Object3D.cpp
Астероид:
Asteroid.h - тут делаю #include Object3D.h
Asteroid.cpp - тут делаю #include Asteroid.h
Планта:
Planet.h - тут делаю #include Object3D.h
Planet.cpp - тут делаю #include Planet.h
Ну и система:
Plsystem.h - тут делаю #include Asteroid.h
#include Planet.h
Plsystem.cpp - тут делаю #include Plsystem.h

т.е. вроде бы получается, что по цепочке инклудов в файл Plsystem.cpp несколько раз линкуется Object3D.h, имеет ли это значение, или компилятор сам лишнее уберет?
И где можно почитать про правильную организацию достаточно сложных проектов?
Работаю в MSVS 2010
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2012, 09:48     Как правильно организовать большой проект?
Посмотрите здесь:

Как правильно организовать многофайловый проект? - C++
Добрый вечер дорогой форум. Сразу скажу я новичек. Пишу курсовик, сроки, как всегда поджимают (семья, ремонт и две работы)... Но это...

Как правильно организовать ветвление в программе? (if / else if) - C++
Доброгл времени суток. Есть вопрос - почему если я ввожу нужный мне параметр мне всплывает на экран "Введите значение средств в гривнях...

Как правильно организовать файловый ввод/вывод? - C++
setlocale(LC_ALL,"russian"); double x; ifstream fin; fin.open("input.txt"); fin>>tochnost>>x>>x>>x; ...

Как правильно организовать дописывание данных в звуковой файл - C++
У меня есть TCP сервер написанный на Qt. Сервер у меня создается как отдельный класс Server в QtCreator. Соединение с клиентом происходит...

Как правильно организовать заголовочный файл со своими функциями? - C++
Есть файл в котором я храню функции, которые часто использую(среди них есть и шаблонные). Например: //Utils.h template <typename...

Как правильно компилировать проект си в С++ Builder 6 - C++
Как правильно компилировать проект си в С++ Builder 6 так, что бы весь проект вместе в библиотеками сохранялся в один exe файл и я его мог...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.07.2012, 10:48     Как правильно организовать большой проект? #2
Цитата Сообщение от gundos111 Посмотреть сообщение
т.е. вроде бы получается, что по цепочке инклудов в файл Plsystem.cpp несколько раз линкуется Object3D.h, имеет ли это значение, или компилятор сам лишнее уберет?
для этого в хедер-файлах ставят стражи включения
C++
1
2
3
4
5
6
7
#ifndef FILENAME__HPP
#define FILENAME__HPP
 
class Object3D {
//...
 
#endif //FILENAME__HPP
по макросу FILENAME__HPP препроцессор определит включался ли этот хедер-файл или нет
DiffEreD
24.07.2012, 18:31
  #3

Не по теме:

А что лучше использовать - #pragma once или #ifndef #define?

Endiff
31 / 31 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 18:34     Как правильно организовать большой проект? #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
А что лучше использовать - #pragma once или #ifndef #define?
#pragma может не поддерживаться некоторыми компиляторами и системами. А второй вариант универсален.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2012, 04:40     Как правильно организовать большой проект? #5
Цитата Сообщение от gundos111 Посмотреть сообщение
Работаю в MSVS 2010
Компилировать проект пробовали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2012, 09:55     Как правильно организовать большой проект?
Еще ссылки по теме:

Объясните как правильно создавать проект - C++
Писать толком не умею. Было все в одном файле, надо "разбить". Когда все было в одном - работало. Объясните, пожалуйста как разбить. ...

Время вхождения в большой проект - C++
У меня вопрос: сколько времени в среднем надо для вхождения в очень большой проект. В проекте около 170 000 файлов, используются три языка...

Как правильно организовывать проект из нескольких файлов? - C++
В данный момент отрыл свой старый проект (и тогда был новичком и сейчас, два года не прогал). Проект крупный, написан ужасно и совсем...

windows 7 + win32. Как правильно сохранить проект? - C++
Как правильно сохранить проект? консольный, win32. Чтобы запускался на семерке. Не в компиляторе, а просто как приложение. Ругается на...

Нюансы ввода/вывода: как правильно организовать ввод строки с пробелами? - C++
Доброе время суток. Такой вопрос: у меня есть структура, содержащая ФИО, адрес, телефон, возраст. Хотелось, чтобы была возможность...

Как правильно сохранить проект в Visual studio 2005? - C++
сохраняя программу нажимаю save as и сохраняю в папку,а затем когда открываю програма запускается но не работает, как правильно сохранить...


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

Или воспользуйтесь поиском по форуму:
gundos111
1 / 1 / 0
Регистрация: 24.07.2012
Сообщений: 8
29.07.2012, 09:55  [ТС]     Как правильно организовать большой проект? #6
Спасибо за ответы, сделал проверки через
#ifndef
#define
#endif
Цитата Сообщение от alsav22 Посмотреть сообщение
Компилировать проект пробовали?
Да, проект и компилится и запускается, куда ж он денется.
Хотел узнать именно как избежать "избыточных" инклудов, или просто не обращать на них внимания, поскольку пока слабо представляю процес сборки ехешника.
Yandex
Объявления
29.07.2012, 09:55     Как правильно организовать большой проект?
Ответ Создать тему
Опции темы

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