#include <iostream>
//#include "printer.h"
using namespace std;
class Printer
{
public:
//2.提供一个静态方法获得一个静态指针
static Printer* getSinglePrinter(){
return singlePrint;
}
//4、设置功能函数
void printTask(){
count++;
}
~Printer(){}
int count;
private:
//1、定义一个静态对象指针,保存唯一实例地址
static Printer* singlePrint;
private:
//3、防止实例化其他对象,将构造函数全部私有
Printer(){count=0;}
Printer(const Printer&){}
};
Printer* Printer::singlePrint=new Printer;
int main()
{
Printer *p1=Printer::getSinglePrinter();
Printer *p2=Printer::getSinglePrinter();
p1->printTask();
p2->printTask();
cout << "count:" <<p2->count<< endl;
return 0;
}
C++ 单例模式实现
最新推荐文章于 2024-07-17 18:58:01 发布