#include <iostream>
using namespace std;
//单例模型
class A {
//为了不让用户可以自己创建对象 必须把构造函数私有化
private:
/* A() { // zane 注掉,构造函数没有用到
cout<<"A()构造函数"<<endl;
a = new A;
}*/
//这里唯一一个public的接口设置为静态
//用户便不需要创建对象直接类名进行访问
public:
static A* getInstance() {
return a;
}
//成员变量也需要私有化 不然用户可以A::a
//而且需要设置为静态 匹配上面接口的返回值
private:
static A* a;
};
//类外初始化
A* A::a = NULL;
//实现单例的步骤
//1.构造函数私有化
//2.增加静态私有的当前类的指针变量
//3.提供静态的对外接口 可以让用户获得单例对象
int main() {
A::getInstance();
return 0;
}

无任何打印信息