>>713
> 継承するだけでシングルトンになるクラスがほしかったんです。

こんなテンプレートでどう?

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;
}