【发布时间】:2013-12-30 06:27:29
【问题描述】:
我只是在编写一个示例代码来从一个类中只创建 5 个对象。我的代码是这样写的
#include <iostream>
using namespace std;
class SingletonGeneric
{
private:
static int Count;
static SingletonGeneric *single;
SingletonGeneric()
{
//private constructor
}
public:
static SingletonGeneric* getInstance();
void method();
~SingletonGeneric()
{
Count -- ;
}
};
int SingletonGeneric::Count = 0;
SingletonGeneric* SingletonGeneric::single = NULL;
SingletonGeneric* SingletonGeneric::getInstance()
{
if( Count >= 0 && Count < 6)
{
single = new SingletonGeneric();
Count = ++;
return single;
}
else
{
return single;
}
}
void SingletonGeneric::method()
{
cout << "Method of the SingletonGeneric class" << endl;
}
int main()
{
SingletonGeneric *sc1,*sc2;
sc1 = SingletonGeneric::getInstance();
sc1->method();
sc2 = SingletonGeneric::getInstance();
sc2->method();
return 0;
}
但我没有得到预期的结果。所以请告诉我应该如何修改我的代码。或者如果有其他简单的方法,请告诉我。
【问题讨论】:
-
快速响应
Count = ++;是语法错误。 -
你是如何测试它的?你的期望是什么?
-
我觉得这个link可以帮到你。
标签: c++ singleton static-methods static-members