单例模式:就像windows上的任务管理器一样,不支持多开,每次打开其实都是同一个进程
//chairman.h
#pragma once
#include<iostream>
class ChairMan
{
private:
ChairMan();
ChairMan(const ChairMan & temp);
int num;
public:
//向外部提供类指针句柄
static ChairMan * getInstance(){
return pChairMain;
};
void say();
private:
static ChairMan * pChairMain;
};
//chairman.cpp
#include "ChairMan.h"
#include<iostream>
using namespace std;
ChairMan::ChairMan():num(1)
{
}
ChairMan::ChairMan(const ChairMan & temp){
std::cout<<"调用了拷贝构造函数"<<endl;
};
void ChairMan::say()
{
cout<<"这是我第"<<num<<"次说话"<<endl;
num++;
}
//main.cpp
#include<Windows.h>
#include<iostream>
#include "chairMan.h"
using namespace std;
ChairMan * ChairMan::pChairMain=new ChairMan;
int main()
{
ChairMan::getInstance()->say();
system("Pause");
return 0;
}