Назад к вопросам
Junior — Middle
104
Каким образом можно задать лимит на число создаваемых экземпляров определенного класса?
Ответ от нейросети
sobes.tech AI
Чтобы ограничить число создаваемых экземпляров класса в C++, можно использовать статическую переменную-счётчик внутри класса, которая увеличивается при создании объекта и уменьшается при его уничтожении. В конструкторе проверяется, не превышен ли лимит, и при необходимости выбрасывается исключение или иным образом предотвращается создание нового экземпляра.
Пример:
#include <stdexcept>
class LimitedInstances {
static int count;
static const int max_instances = 5;
public:
LimitedInstances() {
if (count >= max_instances) {
throw std::runtime_error("Превышен лимит экземпляров класса");
}
++count;
}
~LimitedInstances() {
--count;
}
};
int LimitedInstances::count = 0;
Таким образом, при попытке создать более 5 объектов будет выброшено исключение.