#include "iostream"
using namespace std;
#if 1
class Singleton {
public:
static Singleton* GetSingleton(){return &m_Singleton;}; //最后的这个分号可以不用加
void InPut(int a);
void OutPut();
~Singleton() {} //后面的{}一定要加,如果不加{}的话就说明这里只是在声明,没有定义。这样的话,就需要像其他成员函数一样单独进行定义。
private:
Singleton() {} //同析构函数
int m_number;
static Singleton m_Singleton;
};
void Singleton::InPut(int a)
{
cout<<"Input "<<endl;
m_number = a;
}
void Singleton::OutPut()
{
cout<<"OutPut: "<<m_number<<endl;
}
#endif
Singleton Singleton::m_Singleton;
void main()
{
Singleton::GetSingleton()->InPut(2);
Singleton::GetSingleton()->OutPut();
system("pause");
}