72 题目:设计一个类,我们只能生成该类的一个实例
来源:互联网 发布:linux 网络学习 编辑:程序博客网 时间:2024/05/29 19:35
72. 题目:设计一个类,我们只能生成该类的一个实例。
分析:只能生成一个实例的类是实现了Singleton 模式的类型。
/*72. 题目:设计一个类,我们只能生成该类的一个实例。分析:只能生成一个实例的类是实现了Singleton 模式的类型。1.为了防止从类的外部调用构造函数,产生类的新的实例,我们应该把该类的构造函数声明成protected或者private。2.生成一个类的实例,我们可以考虑用静态成员函数来记录,指向这个实例的指针声明成静态变量,存放在静态存储区,把这个类的实例用new来构造,并放在堆里。*/class Singleton{private:static Singleton* instance;Singleton();Singleton(const Singleton&);public:static Singleton* GetInstance(){if(instance==NULL)//如果之前没有构造过,那么就构造一个新的实例。 //如果构造过,那么就把之前构造的那个实例返回。instance=new Singleton();return instance;}};Singleton* Singleton::instance=NULL;//看了别人的多线程 //如果要加入多线程的考虑。//加入互斥量Mutex。加锁lock()。开锁unlock();Mutex mu;class Singleton{private:static Singleton* instance;Singleton();Singleton(const Singleton&);public:static Singleton* GetInstance(){if(instance==NULL){lock(mu);if(instance==NULL)instance=new Singleton();unlock(mu);}return instance;}};Singleton* Singleton::instance=NULL;
0 0
- 72 题目:设计一个类,我们只能生成该类的一个实例
- 设计一个类,我们只能生成该类的一个实例。
- 设计一个类,我们只能生成该类的一个实例
- 设计一个类,我们只能生成该类的一个实例。
- 剑指officer第二题:题目:设计一个类,我们只能生成该类的一个实例(五种方法实现)
- 第七十二题(设计一个类,我们只能生成该类的一个实例)
- 面试题2 设计一个类,我们只能生成该类的一个实例
- 题目2:Singelton单例模式:设计一个类,只能生成该类的一个实例。
- 设计一个类只能生成该类的一个实例
- 设计一个类,只能生成该类的一个实例
- 设计一个类,该类不能被继承,且只能实例化3次
- 设计一个类,该类不能被继承,且只能实例化3次
- 写一个只能生成两个实例对象的类
- 写一个类,要求:该类不能被继承且只能被实例化三次(转)
- C++ 设计一个类,只能生成一个对象
- 题目:写一个只能构造一个对象的类
- 设计一个只能创建一个唯一实例的类——单例模式
- java思考题:设计一个只能创建一个唯一实例的类。
- Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)
- 工业4.0随想之安全4.0
- 软考-数据流图
- wikioi 1214 线段覆盖
- Marmoset/skyshop的基本介绍
- 72 题目:设计一个类,我们只能生成该类的一个实例
- LeetCode::Add Binary
- 80x86汇编小站-公告
- 黑客小帅收徒QQ2206686874
- 百钱百鸡问题
- Autolayout及VFL经验分享
- 用CImage加载内存里的Image
- leetcode - Valid Palindrome
- 73 对策字符串的最大长度 回文串的判断