33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
|
|
1 | |
Возможно ли спрятать класс из области видимости?15.08.2014, 08:45. Показов 1330. Ответов 5
Метки нет (Все метки)
Здравствуйте!
У меня есть технический класс, который используется только в одном другом классе, и при этом вышеозначенный технический класс нельзя упрятать в private, protected этого самого другого класса. Сходу решения не нашел. Есть какие-либо идеи?
0
|
15.08.2014, 08:45 | |
Ответы с готовыми решениями:
5
Области видимости Область видимости. один класс не видит другой класс Области видимости функций Области видимости в Builder |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
15.08.2014, 08:47 | 2 |
Почему, если он больше нигде не используется?
PS Определение утилитарного класса можно перенести в .cpp, где он непосредственно используется.
0
|
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
|
|
15.08.2014, 09:47 [ТС] | 3 |
Утилитарный класс используется как база для шаблонного класса. Т. е. я не хочу, что бы было Class<T>::Base.
Реализацию вынести в cpp не получится - я пишу реализацию шаблона в hpp, отдельно выделив раздел, как будто бы включенный cpp файл.
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
15.08.2014, 10:03 | 4 |
Сложно что-то конкретное без контекста сказать.
Пока только возникает вопрос: если утилиарный класс является базой для единственного класса, почему он вообще выделен в базовый класс? Или я чего-то не понимаю. Или нужен минимальный компилируемый пример кода (http://sscce.org/).
0
|
33 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 118
|
|
15.08.2014, 10:44 [ТС] | 5 |
Единственный класс - шаблонный. Мне необходимо единое private static-поле на все классы, сгенерированные по шаблону.
0
|
18894 / 9852 / 2410
Регистрация: 30.01.2014
Сообщений: 17,295
|
||||||
15.08.2014, 12:09 | 6 | |||||
Сообщение было отмечено relationer как решение
Решение
relationer, обычно технические классы помещают в спец. пространства имен detail или impl. Этого чаще всего достаточно, чтобы показать, что класс не для внешнего использования.
Но если уж очень хочется прям совсем запретить, то можно так, например, поступить:
PS. ты бы сильно увеличил количество желающих тебе помочь, если бы все-таки показал хотя бы примерный код того, чего хочешь получить. Ведь не все тут телепаты
2
|
15.08.2014, 12:09 | |
15.08.2014, 12:09 | |
Помогаю со студенческими работами здесь
6
Области видимости переменных Области видимости переменных Области видимости объектов Области видимости переменных, C# Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |