C++相談室 Part3
■ このスレッドは過去ログ倉庫に格納されています
0714デフォルトの名無しさん
NGNG> 継承するだけでシングルトンになるクラスがほしかったんです。
こんなテンプレートでどう?
template<class T> class Singleton : public T {
private:
static T *m_instance;
public:
static T *instance();
};
template<class T> T* Singleton<T>::m_instance = 0;
template<class T> T* Singleton<T>::instance()
{
if (!m_instance)
m_instance = new Singleton<T>;
return m_instance;
}
class B;
int main()
{
B* b = Singleton<B>::instance();
……;
delete b;
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています