28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171
|
|
1 | |
Ограничение количества объектов класса22.01.2012, 23:16. Показов 4959. Ответов 20
Метки нет (Все метки)
0
|
22.01.2012, 23:16 | |
Ответы с готовыми решениями:
20
Реализовать подсчет количества объектов класса, используя статическую переменную-член класса Статическое поле класса: подсчет количества созданных объектов Массив объектов одного класса как поле другого класса Построение описания класса, создание и уничтожение объектов этого класса |
13 / 13 / 3
Регистрация: 12.01.2012
Сообщений: 49
|
|
22.01.2012, 23:22 | 2 |
Держать количество объектов класса в статическом члене класса. Ну а с ограничением создания новых объектов всё просто.
0
|
28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171
|
|
22.01.2012, 23:39 [ТС] | 3 |
Ну то, что количество объектов будет содержаться в статической данной, это ясно. Я вообще думал, что может есть какой-то специальный способ запрета создания объекта при определенном условии.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
22.01.2012, 23:41 | 4 |
Riderik, во-первых, следует скрыть возможные конструкторы и операторы присваивания. А объект выдавать по специальному методу (instance), который и будет проверять, можно ли создать ещё объект или нет. Это что-то вроде синглтона, но с ограничением больше одного объекта.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
22.01.2012, 23:48 | 5 |
вот хорошая книга. найдите и скачайте. там этому посвящена целая глава (глава 26). очень хорошо эта задачка описана и не только эта. Подробнее вам на форуме врятли расскажут.
http://rsdn.ru/res/book/cpp/most_effective_cpp.xml Наиболее эффективное использование C++. 35 новых рекомендаций по улучшению ваших программ и проектов
1
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
22.01.2012, 23:53 | 7 |
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
23.01.2012, 00:02 | 8 |
Я тоже сначала о ней подумал, но если этого для задачи не требуется, достаточно того, о чём я написал.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
23.01.2012, 00:07 | 9 |
Вы тут паттернами оперируете, а ТС возможно даже не знает что это и как это применить. Вопрос то не сложный, значит и скиллы соответствующие.
0
|
║XLR8║
|
|
23.01.2012, 00:13 | 10 |
Не по теме: На месте ТС я бы разобрался что было написано выше, благо инфы в нете достаточно, и только потом начал задавать вопросы. И на счет синглтона: сам паттерн немного противоречивый, так как очень сильно завязан на то для чего именно он используется. Я бы не рекомендовал его вообще использовать ТС пока не появится немого опыта, статические переменные пока подойдут.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
23.01.2012, 00:14 | 11 |
outoftime, так я от синглтона предложил взять только концепцию сокрытия конструкторов/операторов присваивания и заменой их методом instance.
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
23.01.2012, 00:20 | 12 |
в догонку книга по паттернам. для ознакомления самое оно.
http://www.rsdn.ru/res/book/oo/design_patterns.xml Приемы объектно-ориентированного проектирования. Паттерны проектирования.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
23.01.2012, 00:24 | 13 | |||||
Вот простенький пример реализации такого класса:
1
|
28 / 28 / 4
Регистрация: 24.07.2011
Сообщений: 171
|
|
23.01.2012, 00:29 [ТС] | 14 |
silent_1991, так и подумал, спасибо.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
23.01.2012, 03:23 | 15 | |||||
мне приходит в голову такой вариант
1
|
31 / 31 / 16
Регистрация: 30.11.2010
Сообщений: 81
|
|
23.01.2012, 10:29 | 16 |
И еще одна отличная книжка от Александреску
http://www.rsdn.ru/?res/book/o... tterns.xml
0
|
║XLR8║
|
||||||
27.01.2012, 20:20 | 17 | |||||
Не используйте синглтоны в качества примера и вообще, не надо его сюда лепить, можно и без него обойтись. Как минимум потокобезопасность очень падает.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
27.01.2012, 22:30 | 18 |
0
|
║XLR8║
|
|
27.01.2012, 23:07 | 19 |
Дело не в том что его нельзя сделать потокобезопасным, в своем примере я не так хотел показать недостатки синглтона как преимущества других подходов, реализация которых и глаз радует, и не заставляет потеть при каждой модификации кода.
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
27.01.2012, 23:14 | 20 |
в примере например не освобождается память
кроме того говоря о многопоточности - менеджер такой же потоконебезопасный
0
|
27.01.2012, 23:14 | |
27.01.2012, 23:14 | |
Помогаю со студенческими работами здесь
20
Массив объектов класса как член другого класса Массив объектов класса. Печать строк-членов класса. Инициализация объектов класса в конструкторе другого класса Ограничение количества цифр после запятой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |