我正在使用 C++ (Qt)。
我正在扩展一个单例类,而一个子类只有静态方法。我没有创建子类的任何实例。单例类的构造函数和析构函数都是私有的,所以我无法访问它的构造函数和析构函数。
class Singleton
{
private :
Singleton();
~Singleton();
public :
// some methods.
}
class SubClass : public Singleton
{
// There is NO constructor or destructor
public:
// Only some STATIC methods.
}
我使用调用父级的 getInstance()的SubClass::getInstance() 。我只使用子类的静态方法(所以不需要实例化子类)。
所以我的问题是,我在编译时收到警告-
“子类:无法生成析构函数,因为基类析构函数不可访问”。
我想摆脱这些警告,还想知道这种设计是否违反了单例设计模式?
我想实现什么?
我正在为应用程序创建记录器。我正在使用第三方库的记录器类(QxtCore 库的 QxtLogger)。这个 QxtLogger 类是一个单例并且具有私有的构造函数和析构函数。我想要一个单例类,其中包含 QxtLogger 拥有的所有方法和一些额外的静态方法(特定于我的应用程序)。
所以我创建了一个继承 QxtLogger 的类,并为其添加了一些静态方法。我担心的是扩展生成警告的单例类(因为基类构造函数和析构函数不可访问)。所以我该怎么做?