创建型模式-Singleton
来源:互联网 发布:unreal engine 源码 编辑:程序博客网 时间:2024/05/17 06:34
//单例(件)模式
//定义:保证一个类仅有一个实例,并提供一个访问他的全局访问点
//1、一个类的产生是由类构造函数完成的 使其私有化 外部就不能直接实例类对象
//2、提供一个访问单例的静态方法
//常用:工厂(因为系统我们就只有一个工厂来创建对象就可以了)..打印机的实例..
//系统方法库..
//不变单例对象(构造私有化不可被继承 保护可被继承产生多态)
#include <stdio.h>
class Game_class{};
class Game_class1:public Game_class{};
class Game_class2:public Game_class{};
class Game_class3:public Game_class{};
class Game_class4:public Game_class{};
class Game_class5:public Game_class{};
class Singleton
{
Singleton()
{
printf("Singleton!\n");
}
static Singleton* _instance;//私有 通过Instance()得到
public:
//1.静态成员函数的地址可用普通函数指针储存,普通成员函数地址需要用 类成员函数指针来储存
static Singleton* Instance() //不静态的话虽然可以调用构造 但是这个函数永远没有机会调用(普通成员函数只能通过实例调用)
{
if(_instance == 0)
{
_instance = new Singleton();
}
return _instance;
}
//以下为工厂 这样整个游戏系统里面的类对象创建就都被工厂屏蔽了
Game_class* creat(int a)
{
if(a == 1)
return new Game_class1;
else if(a == 2)
return new Game_class2;
else if(a == 3)
return new Game_class3;
else
return 0;
}
};
Singleton* Singleton::_instance = 0;
void Single_test()
{
//Singleton* sgn; //无效指针
//Singleton* sgn = new Singleton;//new 不出
Singleton* sgn = Singleton::Instance();
sgn->creat(1);
}
- 创建型模式-Singleton
- Singleton-对象创建型模式
- 创建型模式之Singleton
- 创建型模式--单例模式(Singleton)
- (创建型模式)Singleton 单件模式
- (创建型模式)Singleton 单件模式
- Singleton模式——创建型模式
- 创建型模式-Singleton ( 单态模式 )
- 创建型模式-单例模式(singleton)
- 创建模式:Singleton模式
- singleton design pattern----------创建型模式之一
- Singleton单件(创建型模式)
- Singleton单件(创建型模式)
- Singleton 单件(创建型模式)
- 关于Singleton 单件(创建型模式)
- 创建型模式之五---Singleton
- 创建型 - Singleton单例模式 (转)
- 创建型模式-单件(Singleton)
- 黑马程序员——HTML表格布局
- bzoj 3207 hash + 可持久化数据结构
- Demystifying iOS Application Crash Logs
- 修改VS2010生成的lib和dll文件路径
- 遇到的问题总结
- 创建型模式-Singleton
- 马士兵 Servlet & JSP
- Script:创建一个job,通过存储过程定期删除数据的脚本
- Windows Azure功能更新:远程调试、新的VM镜像、Azure SDK 2.2
- Xcode 关闭ARC的方法
- Android编译系统
- 利用指针实现变量交换
- ROS的学习(五)在工作空间中构建和使用catkin包
- 数据库基础知识