Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171
#1

Ограничение количества объектов класса - C++

22.01.2012, 23:16. Просмотров 2001. Ответов 20
Метки нет (Все метки)

Вопрос: как ограничить количество объектов одного класса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 23:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ограничение количества объектов класса (C++):

Реализовать подсчет количества объектов класса, используя статическую переменную-член класса - C++
как реализовать подсчет количества объектов класса (используя статическую переменную-член класса), а также статическую функцию, которая...

Построение описания класса, создание и уничтожение объектов этого класса - C++
Построить описание класса, содержащего информацию о почтовом адресе организации. Предусмотреть возможность раздельного изменения...

Массив объектов класса. Печать строк-членов класса. - C++
подскажите, как распечатать строки? #include "myString.h" #include <iostream> #define stop __asm nop void main() { ...

Массив объектов класса как член другого класса - C++
Здравствуйте. У меня тут возникла проблемка #include "main.h" class player { public: player(); player(char*); ...

Инициализация объектов класса в конструкторе другого класса - C++
У меня есть класс Subscriber,в котором есть несколько объектов другого класса Date,мне нужно,чтобы при создании Subscriber объекты класса...

Ограничение количества цифр после запятой - C++
Как ограничить количество цифр после запятой? Слишком уж дотошная точность получается...Мне только две нужны.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vergil111
31 / 31 / 6
Регистрация: 30.11.2010
Сообщений: 81
23.01.2012, 10:29 #16
И еще одна отличная книжка от Александреску
http://www.rsdn.ru/?res/book/oo/design_patterns.xml
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
27.01.2012, 20:20 #17
Не используйте синглтоны в качества примера и вообще, не надо его сюда лепить, можно и без него обойтись. Как минимум потокобезопасность очень падает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Foo {
public:
    Foo() { }
    ~Foo() { }
};
 
class FooManager {
 
private:
    int count = 0;
 
public:
    FooManager(int max_count = 10) {
        this->max_count = max_count;
    }
 
    Foo* createFoo() {
        if (count == max_count) return 0;
 
        ++count;
        return new Foo();
    }
};
 
static FooManager manage();
 
void main() {
    
    Foo* f = manager.createFoo();
    f->~Foo();
}
В этом случае вам просто надо постоянно пользоваться менеджером, так как именно в нем происходят все необходимые проверки, но от синглтона это отличается не много не мало тем что реализация находится в 2 классах, а значит редактировать код проще и еще можно создать нельколько менеджеров на каждый из видов задач, что является примером хорошей расширяемости, чего синглтон не дает.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
27.01.2012, 22:30 #18
Цитата Сообщение от outoftime Посмотреть сообщение
Как минимум потокобезопасность очень падает.
что мешает сделать его потокобезопасным?
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
27.01.2012, 23:07 #19
Дело не в том что его нельзя сделать потокобезопасным, в своем примере я не так хотел показать недостатки синглтона как преимущества других подходов, реализация которых и глаз радует, и не заставляет потеть при каждой модификации кода.
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
27.01.2012, 23:14 #20
в примере например не освобождается память
кроме того говоря о многопоточности - менеджер такой же потоконебезопасный
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
28.01.2012, 15:50 #21
Полностью согласен, но все-таки работа с менеждером более прозрачна в этом плане.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2012, 15:50
Привет! Вот еще темы с ответами:

Ограничение количества знаков после запятой (float) - C++
В данном примере , происходит ограничение знаков после запятой для всех переменных float, строками 12,13. А как составить код для...

Mutex ограничение доступа к переменным класса - C++
Доброго времени суток. Подскажите пожалуйста, что я делаю не так? class Bitmap { private: mutex...

Stack overflow при создании большого количества объектов - C++
Здравствуйте Товарищи! Выскакивает ошибка:"Необработанное исключение в "0x000000013fbc1ba7" в "Динамический массив (malloc).exe":...

Наследование static атрибута(хранение количества объектов наследуемых классов) - C++
Есть абстрактный класс base, от него наследуются 3 класса child1 child2 child3. Создается множество объектов одного из этих трех классов, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.01.2012, 15:50
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru