|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||||||||||||
Виртуальный замок14.01.2013, 13:35. Показов 2604. Ответов 5
Метки нет (Все метки)
Доброе утро!
Возникла такая проблема. Допустим, я хочу запретить наследоваться от своего класса другим классам и получить ошибку компиляции(но не пряча при этом конструктор и деструктор в приватную секцию, и не используя С++11). Для этого я пишу виртуальный замок (virtual lock)
Как видим все нормально. Точнее код не скомпилировался, все как мы хотели. Но вот я немного переделал этот код
И он почему-то скомпилировался. В чем принципиальное различие в этих двух кодах? Подскажите, пожалуйста, что я упускаю... Добавлено через 5 минут Т.е. в моем втором примере по прежнему конструктор Lock доступен только Foo.
1
|
||||||||||||||||
| 14.01.2013, 13:35 | |
|
Ответы с готовыми решениями:
5
Как создать виртуальный поток и переопределить оператор <<?
Как сделать виртуальный образ диска? |
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 14.01.2013, 15:04 | |
|
Вся суть замка в том, что у класса Lock конструктор приватный.
Когда вы делаете его публичным, вся магия исчезает.
0
|
|
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
|
| 14.01.2013, 15:09 [ТС] | |
|
lemegeton, смотрите третий пример. Там конструктор Lock не вызывается, значит он приватный(мы ведь использовали приватное наследование). Что я упустил?
0
|
|
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
||||||||||||||||||||||
| 14.01.2013, 17:27 | ||||||||||||||||||||||
|
Приватным или публичным что-то может быть объявлено. Так в языке С++ поля и методы класса (любом класса) объявляются приватными, если не указано обратное с помощью ключевого слова public. Пример.
Пример выведет A B.
Ах да, вот еще. Наследоваться от залоченного таким образом класса можно. Его инстанцировать не выйдет.
0
|
||||||||||||||||||||||
|
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
|
||||||||||
| 14.01.2013, 18:02 [ТС] | ||||||||||
1
|
||||||||||
|
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
|
|
| 14.01.2013, 22:38 | |
|
0
|
|
| 14.01.2013, 22:38 | |
|
Помогаю со студенческими работами здесь
6
Обязательно ли переопределять виртуальный метод в дочернем классе? Виртуальный контекст Виртуальный режим в ListView Виртуальный режим в ListView Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|