1.设计单例模式
提供打印功能和提供打印次数
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
#include<string>
class Printer
{
public:
static Printer * getInstance()
{
return printer;
}
void printText(string text)
{
m_Count++;
cout << text << endl;
}
int m_Count;
private:
Printer()
{
m_Count = 0;
//cout << "打印机构造调用" << endl;
};
Printer(const Printer & p){};
static Printer *printer;
};
Printer *Printer::printer = new Printer;
void test01()
{
Printer * p1 = Printer::getInstance();
p1->printText("入职证明");
p1->printText("离职证明");
p1->printText("加薪申请");
p1->printText("旅游申请");
cout << "打印机的使用次数" << p1->m_Count << endl;
}
int main()
{
cout << "main函数的调用" << endl;
test01();
system("pause");
return EXIT_SUCCESS;
}
2.补充一道面试题:要在main函数调用前打印hello world
由于在单例模式下,静态成员变量在编译时就会调用构造函数,而main函数实在执行时才调用。因此可以把打印的内容放单例模式下的构造函数中。