C++语言 实现类对象的单模式创建
来源:互联网 发布:去除ghost预装软件 编辑:程序博客网 时间:2024/06/07 11:22
//C++语言 实现类对象的单模式创建//对于单例模式而言,既然要保证类有且仅有一个实例,就需要其他的类不能实例化该类.//因此,需要将构造方法设置成私有的,即使用private关键字修饰.//同时,在类中提供一个静态方法,该方法的返回值是该类的一个实例.http://pythonschool.com/python/102.html#include "stdafx.h"#include "iostream.h"class Emperor{private: static Emperor *pEmperor; static int count; Emperor() { count++; }public: static Emperor getInstance() { if(pEmperor == NULL) { pEmperor = new Emperor(); } return *pEmperor; } void getName() { cout << "我是第" << count << "次创建的实例" << endl; }};Emperor * Emperor::pEmperor = NULL;int Emperor::count = 0;int main(int argc, char* argv[]){ //printf("Hello World!\n"); cout << "创建1对象:" << endl; Emperor emperor1 = Emperor::getInstance(); emperor1.getName(); cout << "创建2对象:" << endl; Emperor emperor2 = Emperor::getInstance(); emperor2.getName(); emperor2.getInstance(); cout << "创建3对象:" << endl; Emperor emperor3 = Emperor::getInstance(); emperor3.getName(); emperor3.getInstance(); return 0;}