C++ 单例模式 demo
来源:互联网 发布:sql 表假脱机 编辑:程序博客网 时间:2024/06/05 23:59
//单例模式
/*
一是某个类只能有一个实例;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例,单例对象持有对自己的引用;
*/
/*
一是某个类只能有一个实例;
二是它必须自行创建这个实例;
三是它必须自行向整个系统提供这个实例,单例对象持有对自己的引用;
*/
#include "string.h"#include "iostream.h"class SingletonClass{private:static SingletonClass instance;char Classname[30];SingletonClass(){cout<<"!!!!!"<<endl;//调用构造函数的标记strcpy(Classname, "SingletonClass");}SingletonClass(SingletonClass &instance){cout<<"~~~~~~~~"<<endl;//调用拷贝构造函数的标记strcpy(instance.Classname,this->Classname);}public:char *getClassName(){return Classname;}static SingletonClass& getInstance(){return instance;//返回对象时调用拷贝构造函数}void setClassName(char *p){strcpy(Classname, p);}};SingletonClass SingletonClass::instance;int main(int argc, char *argv[]){SingletonClass *p = &SingletonClass::getInstance();//获取实例的指针cout<<"class name:"<<p->getClassName()<<endl;p->setClassName("123456");cout<<"class name:"<<p->getClassName()<<endl;cout<<"--------------------------------------------"<<endl; SingletonClass *p1 = &SingletonClass::getInstance();//再次获取实例的指针cout<<"class name:"<<p1->getClassName()<<endl;//输出123456cout<<"class name:"<<p->getClassName()<<endl;//如果函数不反回引用,则输出SingletonClass(临时对象)cout<<"--------------------------------------------"<<endl;cout<<"p:"<<p<<"p1:"<<p1<<endl;return 0;}
- 单例模式 demo
- C++ 单例模式 demo
- php 单例模式demo
- 设计模式之 单例模式demo
- js设计模式demo--单例模式
- GOF23之单例模式Demo
- 单例模式的简单demo
- 简单的单例模式Demo
- java单例模式小demo
- 构造方法私有化demo---单例模式
- 单例模式-懒汉式、饿汉式Demo
- 单例模式-静态内部类Demo
- C#单例模式
- C#-单例模式
- 单例模式(C++)
- 【C++】单例模式
- [C++]单例模式
- 单例模式(C++)
- 程序员成长最快的环境
- 程序员成长的10个阶段
- 网站程序员的程序员成长之路大概分几个阶段 和未来的发展
- 保证你现在和未来不失业的十种关键技术
- Bourne Shell及shell编程
- C++ 单例模式 demo
- 如何调试core文件
- 再次写给我们这些浮躁的程序员
- 缓冲区的非法操作
- centos下搭建SVN服务器 并且自动发布代码
- grep的使用详解
- android模拟器如何输入中文,不能输入中文
- 深入浅出Shell编程: 前言
- secureCRT使用技巧