Примените одноэлементный шаблон к классу с параметризованным конструктором - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть класс (Test), который я хочу превратить в синглтон.Я подумываю о том, чтобы объявить класс Test выходящим из одноэлементного класса шаблона, который я буду использовать повторно:

template <typename T>
class Singleton
{
    public:
        static T& getInstance()
        {
            static T instance;
            return instance;
        }
    protected:
        Singleton() {}
        ~Singleton() {}
    public:
        Singleton(Singleton const &) = delete;
        Singleton& operator=(Singleton const &) = delete;
};

Как я могу использовать этот шаблон (в общем случае), чтобы превратить класс в одноэлементный, если конструкторнужен параметр?Например, Test может быть:

class Test {
  public:
    Test(int A);
}

Есть ли способ использовать шаблон выше, чтобы превратить Test в синглтон?(Очевидно, что первый вызов экземпляра будет использовать параметры, а последующие вызовы экземпляра будут игнорировать параметры)

...