设计模式C++实现(4)——单例模式
来源:互联网 发布:游戏超人软件 编辑:程序博客网 时间:2024/04/29 21:15
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍单例模式的实现。
单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。
UML图:
代码:
#include <iostream>using namespace std;template <typename T>class Singleton{public:static T* GetInstance(){if(t_ == NULL)t_ = new T();return t_;}private:Singleton();static T* t_;};template <typename T>T* Singleton<T>::t_ = NULL;class Stu { public: void print() { cout<<"this is Stu"<<endl; } }; int main(void) { Stu *s = Singleton<Stu>::GetInstance(); Stu *s2 = Singleton<Stu>::GetInstance(); if( s == s2) { cout<<"equals."<<endl; } return 0; }
0 0
- 设计模式--单例模式 C++实现
- 设计模式——单例模式(c++)
- 设计模式——单例模式(C++)
- 设计模式C++实现4——单例模式
- 设计模式——单例模式(C++实现)
- AspectJ实现设计模式(六)—单例模式
- AspectJ实现设计模式(六)—单例模式
- 设计模式(C++) -----单例模式
- Objective-c 实现单例设计模式
- 设计模式—单例设计模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- 设计模式C++实现(4)——单例模式
- JDBC连接SQL Server2008
- (未完成)高级方法(一):kalman滤波
- spring配置文件ApplicationContext.xml文件里面没有提示功能
- php设计模式(二):结构型模式
- java变量名命名规则
- 设计模式C++实现(4)——单例模式
- 疯狂java 讲义第三章练习题---画圆
- iOS 键盘动画同步
- grep -o -e
- 单例模式的好处1
- 有一行字符,统计其中的单词个数(单词之间以空格分隔),并将每一个单词的第一个字母改为大写
- 小店创业,月销售额过30万
- v$controlfile_record_section系统视图
- BAT教程