|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|||||||
Создание пространства имен05.05.2015, 14:15. Показов 8388. Ответов 60
Метки нет (Все метки)
Всем доброго времени суток !!!
Не могу понять назначение создания пространств имен. В книге автор привел следующий код программы. Помогите пожалуйста разобраться в эго назначении . Что автор этим хотел сказать ?
0
|
|||||||
| 05.05.2015, 14:15 | |
|
Ответы с готовыми решениями:
60
Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? Пространства имён с++ Пространства имен в Эклипс |
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
| 13.11.2015, 15:10 | ||||||
|
RAFA91, наличие пространства имен никак не влияет на разделение кода по cpp/h файлам.
В хедере будет как в твоем примере. А в цэпэпэшнике так:
0
|
||||||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|
| 13.11.2015, 15:17 [ТС] | |
|
Tulosba да то все понятно что суть не изменится.
так как лучше поступить ? разделить по cpp и h или все загнать в h ? или может в самом h вынести реализацию функций за пространство ?
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||||||||
| 13.11.2015, 15:29 | |||||||||||||
inline функций.Но, повторюсь ещё раз, это никоим образом не зависит от наличия/отсутствия пространства имен. Если функций мало, то можно и так:
N::):
0
|
|||||||||||||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
||||||||||||
| 13.11.2015, 15:40 [ТС] | ||||||||||||
0
|
||||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 13.11.2015, 15:44 | ||
|
0
|
||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|||||||
| 13.11.2015, 15:48 [ТС] | |||||||
0
|
|||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 13.11.2015, 15:50 | |||||||
0
|
|||||||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|
| 13.11.2015, 15:57 [ТС] | |
|
ну тут понятное дело будет ошибка даже если открыть оба пространства.
мне просто хотелось уточнить по поводу выноса реализации функций за пространство. я думал что если мы выносим реализации функций за пространство, то явно указывать пространство не нужно при ее вызове.
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 13.11.2015, 16:00 | |||||||
2
|
|||||||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
||||||||||||||||
| 13.11.2015, 17:35 [ТС] | ||||||||||||||||
|
ради интереса хотел уточнить такую штуку. пока не проверял.
можно ли в классе использовать перечисление к примеру такое
в пространство его положить свободно можно
0
|
||||||||||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 13.11.2015, 17:37 | |
|
1
|
|
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|
| 13.11.2015, 17:45 [ТС] | |
|
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 13.11.2015, 17:59 | |
|
RAFA91, зависит от того в какой секции объявишь: public, private, protected
0
|
|
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
|||||||||||
| 13.11.2015, 18:27 [ТС] | |||||||||||
|
как я понял
0
|
|||||||||||
|
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
|
||
| 13.11.2015, 18:43 [ТС] | ||
|
что если перед enum поставить слово статик ?
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 13.11.2015, 18:49 | |
|
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 13.11.2015, 19:07 | |||||||
|
с точки зрения правил языка с++ namespace и class - принципиально различные конструкции. но с точки зрения их низкоуровневой природы, у них очень много общего. в некотором смысле можно считать, что namespace - вырожденная форма класса. даже более того, если представить отношения пространств и классов в виде диаграммы UML, то получаем любопытную картинку:
что стуктуры и классы - инстансы одного и того же шаблона, параметризованные разными стратегиями, которые отвечают за модификаторы доступа а этот шаблон наследуется от namespace, наследуя все его примитивные свойства. по этой причине, классы/структуры точно так же, как и неймспейсы определяют область видимости различных имен. и позволяют объявлять в пространстве своих имен различные сущности. возвращаясь к вашим енумам: в обоих случаях у вас там будет один и тот же принцип работы. действуют одни и те же правила объявления енума. и один и тот же способ получить доступ к енуму. единственное, для классов действует стратегия управляющая доступом к его компонентам. но так как в вашем случае модификатор доступа public, то вы действительно получили аналог неймспейса.
1
|
|||||||
| 13.11.2015, 19:07 | |
|
Использование пространства имен Использование пространства имен Подключение пространства имён
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|