C++语言 实现类对象的单模式创建
//C++语言 实现类对象的单模式创建 //对于单例模式而言,既然要保证类有且仅有一个实例,就需要其他的类不能实例化该类. //因此,需要将构造方法设置成私有的,即使用private关键字修饰. //同时,在类中提供一个静态方法,该方法的返回值是该类的一个实例. #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; }
学习笔记转摘于:
丝酷网 http://www.pythonschool.com/