![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
||
|
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 3 Всего: 172 |
Энкапсуляция - дело хорошее, даже в этом случае. -------------------- |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Энкапсуляция это когда пользователь класса не подозревает о его содержимом, если я не ошибаюсь. Причем энкапсуляция к прятанию элемента интерфейса: конструктора? Это сообщение отредактировал(а) chipset - 3.4.2005, 08:03 --------------------
|
||||
|
|||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 3 Всего: 172 |
Ты хочешь сказать, что декларация метода как протектед или приват не есть инкапсуляция? ![]() -------------------- |
|||
|
||||
np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
После всего прочитанного, хочеться задать один вопрос:
Что такое СИНГЛТОН? |
|||
|
||||
chipset |
|
||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Нет конечно. Просто смысла от хоть какой-либо возни с конструктором в абстрактном классе очень мало. Кроме того, разве можно спутать абстрактный класс с синглетоном? Добавлено @ 08:12
С другой стороны, в той же Modern C++ Design:
--------------------
|
||||||||||
|
|||||||||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 3 Всего: 172 |
Если его писал ты, то нет. А если не ты, то тока так. -------------------- |
|||
|
||||
chipset |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Ок. Предположим имееца какой-то абстрактный класс: Something. У него конструктор в защищеной секции. Что делает В. Пупкин добавляя класс использующий этот Something в проект? Вызывает Something::instance чтобы получить его, вот так:
Даже если instance будет невиртуальной, статической и вообще будет в классе, компилятор огрызнётся:
--------------------
|
||||||||
|
|||||||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 3 Всего: 172 |
Не пойму, ты к чему ведешь
![]() -------------------- |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
К тому что singleton трудно спутать с другими шаблонами. Это сообщение отредактировал(а) chipset - 3.4.2005, 08:26 --------------------
|
||||
|
|||||
DerLaM |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 1.4.2005 Репутация: нет Всего: нет |
Всем привет!
Извините но у меня вопрос не по теме! Скажите пожалуйста реально ли изучить с++ (с нуля) за 2 месяца, для того чтобы хотябы научиться делать простую записную книжку? P.S. Простите за флуд но моя скорость (10 кб/сек) не позволяет найти нужную тему ![]() |
|||
|
||||
chipset |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Зависит от тебя ![]()
Давай я тему разделю? --------------------
|
||||||
|
|||||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 3 Всего: 172 |
паттернами то есть. Спутать легко. Если ты не читаешь документацию от корки до корки, или она просто плохая. А часто ты изучаешь сорцы всех чужих библиотек? Вот потому и легко. -------------------- |
|||
|
||||
np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
НУ
chipset, так то реализация, а то сематника смысл! ОБЪЕКТ СУЩЕСТВУЕТ ОДИН! И все тут, а не доступ к нему один! В этом и есть смысл! Хочешь мультитрейд? Создавай! Но опять этот менеджер, если он синглтон тоже ОДИН, а как ты там им управляешь это все уже другие вопросы! Если используешь библиотеку Loki, то там синглтон обертывается в спец. шаблон и создается один экзкмпляр в глобольной/статической области памяти! Каким боком это класс в синглтоне непонятно, потому как он ОДИН (а это главная задача шаблона) а доступ к нему ты можешь сам разрулить без всякого instance() а методами самого класса в обертке!
Зачем прятать конструктор абстрактного класса? (те объекта у этого класса нет, он опр только единый интерфейс) Он вызывается при создании потомка. Ну так даже если его закроешь то все равно он будет вызываться. Если его писал не ты, зачем его закрывать? Яж его использовать буду только после наследования от него.... Создать экз. все равно не получиться.... Ну скорее всего это просто дело вкуса... ![]() ps может имеет смысл как то разделять темы? А то все свалено в кучу.... Может создать таких мега постов штук так пять и вообще обсудить ООП? И паттерны? А? Это сообщение отредактировал(а) np9mi7 - 3.4.2005, 08:41 |
|||
|
||||
chipset |
|
||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Код спутывания в студию! ![]()
Он же в private.
В плане? Он же не может инстанциироваться ибо абстрактный.
Смысл темы довольно широкий, и мы иногда вихляем в другие стороны но только ради изучения корневой темы.
Чтобы не мешался;) Это сообщение отредактировал(а) chipset - 3.4.2005, 08:50 --------------------
|
||||||||||||
|
|||||||||||||
np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
Ну бери ссылку на объект и пытайся вызвать метод, а он тебе сам там: я занят; используй меня так хочешь и все тут. Сам грек для мультитрейда вообще выделяет отдельную стратегию каторая и влияет на метод instance()... Как вы собирались разным классам запр. использовать ЛОГ? Непонятно зачем? Если код тв пишешь своими руками то просто не используй его и все! Раз он тебе не нужен. Как со стороны сервиса ЛОГа это запретить? Я не понимаю? Это сообщение отредактировал(а) np9mi7 - 3.4.2005, 09:10 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |