首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

派生类可以做成单例模式么?该怎么解决

2012-03-09 
派生类可以做成单例模式么?如题,他的父类的构造函数如何处理呢?public: static 我的类* getInstance() {if

派生类可以做成单例模式么?
如题,他的父类的构造函数如何处理呢?

public: static 我的类* getInstance() {  
if( _uniqueInstance == 0 ) {  
_uniqueInstance = new 我的类(); //这里报错
}  
return _uniqueInstance;  
}  
我这里报错:object of abstract class type "我的类" is not allowed


[解决办法]

C/C++ code
template<typename T>class CSingleton{public:    static T& Instance()    {        static T me;        return me;    }};class MyClass: public CSingleton<MyClass>{public:    MyClass(){};    ~MyClass(){};    void Print() { printf("testing %d\n",val); }    int val;};int main(void){   MyClass::Instance().val=7;   MyClass::Instance().Print();    return 0;}
[解决办法]
理论上子类跟父类应该是同质的,子类有这样的需求,父类是否应该也有这样的需求?
研究事物是需要应用的时候更科学。

热点排行