0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
|
|
1 | |
Правильное включение заголовочных файлов03.03.2015, 17:08. Показов 2597. Ответов 5
Метки нет (Все метки)
Привет, хочу задать такой вопрос. У меня есть классы в файлах Menu.h, Options.h, About.h, Game.h, Pause.h. Каждый из этих классов должен агрегационно включать класс из файла Button.h. А класс с Run.h файла должен включать агрегационно классы с Menu.h, Options.h, About.h, Game.h, Pause.h. Как мне правильно заинклюдить Button.h?
0
|
03.03.2015, 17:08 | |
Ответы с готовыми решениями:
5
Правильное подключение заголовочных файлов Правильное подключение заголовочных файлов Включение заголовочных файлов дважды Взаимное включение заголовочных файлов |
20 / 20 / 18
Регистрация: 24.02.2015
Сообщений: 49
|
|
03.03.2015, 17:12 | 2 |
можно, например, воспользоваться директивой #pragma once
1
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
|
|
03.03.2015, 17:15 [ТС] | 3 |
а как ее правильно использовать?
0
|
20 / 20 / 18
Регистрация: 24.02.2015
Сообщений: 49
|
|
03.03.2015, 17:26 | 4 |
Сообщение было отмечено floor114 как решение
Решение
с нее вообще желательно начинать каждый файл заголовка (.h)
после этого заголовки можно включать почти не задумываясь повторного включения не будет нужно только контролировать, чтобы не было перекрестного включения, типа файл a.h включает b.h, а b.h включает a.h есть другая техника, можно использовать конструкцию вида #ifndef _A_H_ #define _A_H_ текст файла #endif здесь _A_H_ - просто некоторый уникальный идентификатор, связанный с этим файлом заголовка это тоже предохраняет от повторных включений
1
|
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
|
|
03.03.2015, 17:36 | 5 |
Без разницы. Препроцессор, сначала обработает все инклюды и включит в список. При втором проходе, всё ненужное, будет отброшено. Современные компили, - четырёхпроходные. Досконально в этом не разбирался, но (ИМХО) на последнем проходе делается какая-то оптимизация (хз).
0
|
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
|
|
03.03.2015, 17:52 [ТС] | 6 |
Благодарю, помогло
0
|
03.03.2015, 17:52 | |
03.03.2015, 17:52 | |
Помогаю со студенческими работами здесь
6
Про добавление заголовочных файлов в заголовочных файлах Раздельная компиляция (нюансы использования заголовочных файлов и файлов реализации) Подключение заголовочных файлов и файлов реализации Подключение заголовочных файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |