#include <iostream> using namespace std; //单例类的C++实现 class Singleton { private: Singleton();//注意:构造方法私有 static Singleton* instance;//惟一实例 int var;//成员变量(用于测试) public: static Singleton* GetInstance();//工厂方法(用来获得实例) int getVar();//获得var的值 void setVar(int);//设置var的值 virtual ~Singleton(); }; //构造方法实现 Singleton::Singleton() { this->var = 20; cout<<"Singleton Constructor"<<endl; } Singleton::~Singleton() { cout<<"Singleton Destructor"<<endl; //delete instance; } //初始化静态成员 /*Singleton* Singleton::instance=NULL; Singleton* Singleton::GetInstance() { if(NULL==instance) instance=new Singleton(); return instance; }*/ Singleton* Singleton::instance=new Singleton; Singleton* Singleton::GetInstance() { return instance; } //seter && getter含数 int Singleton::getVar() { return this->var; } void Singleton::setVar(int var) { this->var = var; } //main void main() { Singleton *ton1 = Singleton::GetInstance(); Singleton *ton2 = Singleton::GetInstance(); if(ton1==ton2) cout<<"ton1==ton2"<<endl; cout<<"ton1 var = "<<ton1->getVar()<<endl; cout<<"ton2 var = "<<ton2->getVar()<<endl; ton1->setVar(150); cout<<"ton1 var = "<<ton1->getVar()<<endl; cout<<"ton2 var = "<<ton2->getVar()<<endl; delete Singleton::GetInstance();//必须显式地删除 }
单例模式,里面有静态方法和静态字段的使用,其中静态字段需要进行初始化这个需要注意
相关推荐
自己写的c++实现的单例模式日志类。支持多线程、日志等级、可输出每条日志的输出时间(精确到毫秒级),日志级别,支持可变长参数、标准格式化输出。 代码中包含VS2010示例程序,使用方便。
采用C++ 的单例模式设计,
QT_C++单例模式懒汉+饿汉,设计模板,使用QT打开pro文件编译即可,默认控制台输出。
C++单例设计模式,单例模式 C++单例设计模式,单例模式
本人简单整理了自己所学,singleTon 比较简单,不足之处望指教
设计模式C++学习之单例模式(Singleton)
c++单例模式 懒汉式和饿汉式
李建忠老师的设计模式-单例模式讲解,示例以C++编程语言呈现。
本文实例讲述了C++单例模式及其相关应用方法,分享给大家供大家参考。具体方法分析如下: 定义: 一个类有且仅有一个实例,并且提供一个访问它的全局访问点。 要点: 1、类只能有一个实例; 2、必须自行创建此实例;...
C++进阶学习:单例模式的实现示例代码,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48809541
在vs2013上实现的标准C/C++日志记录(C++11). 分享出来给大家学了解。有更好方案可以沟通交流。
C++ 单例模式的详解及实例 1.什么叫单例模式? 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很...
C++11实现线程安全的单例代码和测试代码,包含singleton.h,main.cpp,希望帮助到大家。
设计模式中的单例模式,涉及饿汉与懒汉模式,C++语言。
单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况
本资源描述了C++11 中多线程的创建,C++11中std命名空间中将boost库中的Thread加入,boost多线程从准标准变为标准,其中还介绍了C++ 多线程下的单例模式的使用,本文档为txt文档
最近在做游戏开发,阅读了一些源码后做了一些总结与记录,希望对自己和其他的朋友有所帮助
C++单例设计模式: 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如...
http://blog.csdn.net/zerolxl/article/details/8026739 博客代码