c++ (单例模式2)

c++ (打印机案例)

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;

class Printer
{
public:
	static Printer* getSingnel() {
		return singelObj;
	}
	~Printer() {}

	void printText(string text)
	{
		cout << text << endl;
		m_Count++;
		cout << "打印机使用了次数为: " << m_Count << endl;
	}

private:
	Printer() {
		m_Count = 0;
	}
	Printer(const Printer &p){}
	static Printer *singelObj;
	int m_Count;
};
Printer* Printer::singelObj = new Printer;


void test01()
{
	Printer *p1 = Printer::getSingnel();
	Printer *p2 = Printer::getSingnel();
	p1->printText("离职报告");
	p1->printText("入职报告");
	p1->printText("加薪报告");
	p1->printText("升值报告");
	p1->printText("退休报告");
	p1->printText("年会报告");
	if (p1 == p2)
		cout << "相同" << endl;
}

int main()
{
	test01();
	return 0;
}

posted on 2021-04-23 10:56  lodger47  阅读(38)  评论(0)    收藏  举报

导航