c++ - 如何限制为 C++ 中的单个类创建的对象数量?
问题描述
例如:(我想为一个类限制 10 个对象)。
class base{
/--------/
};
void main()
{
base a1;
base a2;
-------
base a10;
base a11//Error
}
解决方案
您可以添加一个static
成员作为类实例的计数器。当计数器超过 10 时,您会抛出异常(运行时错误)并且作业完成。
例如:
class MyClass
{
private:
static unsigned int count;
//...
void check_count()
{
if(++count > 10)
throw MyException("Error: Too many instances of MyClass created"); //MyException being your own exception class (deriving for std::exception)
}
public:
MyClass()
{
check_count();
//...
}
MyClass(const MyClass & mc)
{
check_count();
//...
}
~MyClass
{
--count;
}
};
unsigned int MyClass::count = 0; //Initialize the counter to zero
推荐阅读
- c++ - 具有 r 值的类似数组的功能
- javascript - 如何操作 CSS PaintWorklet 上下文的像素数据?
- laravel - 广播 laravel 事件和多个频道
- configuration - TYPO3的配置涉及哪些语言?
- python - 如何将python中的列表转换为numpy数组以放入张量流
- python - 如何使用另一个数组中的值更新 numpy 数组的所有值
- string - 如何将集合传递给函数参数?
- uwp - 未检测到 UWP Enter 键按下
- c# - 在 Angular 7 中配置和使用 Dotnet Core Web API
- amazon-web-services - 正确转义很长的 systemd 命令序列