《剑指offer》面试题2:实现Singleton模式

题目:设计一个类,我们只能生成该类的一个实例。

思路

一个类要只能生成一个实例,那就需要将构造函数私有化,就能防止在外部调用构造函数生成新的实例,通过使用静态成员变量使得外部可以调用这个唯一实例。单例设计模式是经典的设计模式,常用的实现方法有懒汉模式和饥汉模式。懒汉模式是在需要使用实例的时候才创建,而饥汉模式则是从一开始就将实例生成出来。下面是饥汉模式的一个实现。

class Singleton {
public:
    static Singleton* Instance();
private:
    Singleton();
    static Singleton *instance;
};

Singleton* Singleton::instance = new Singleton;

Singleton* Singleton::Instance(){
  return instance;
}

猜你喜欢

转载自blog.csdn.net/acelove40/article/details/79774146