设计模式:C++模板方式实现单例模式_风静如云的博客-优快云博客
中使用了CRTP方法实现了单例模式。
CRTP方法可以说是结合了继承和模板的优点,将一些通用的代码放在基类中,但是基类中却可以调用派生类的函数,俗称静态多态。
#include <iostream>
using namespace std;
template<typename T>
class Base{
public:
void pOut() //在基类实现接口函数
{
static_cast<T*>(this)->doPrintOut(); //将this指针转换为派生类指针
}
};
class Derived1 : public Base<Derived1>
{
public:
void doPrintOut() //在派生类提供接口实现
{
cout<<"this is De