构造函数私有化(单例模式Singleton)
一般来说,构造函数都是放在公有区,要是把构造函数放在私有区在外部都构造不了对象了。在一种特殊情况下,会把构造函数放在私有区,不允许被外界创建对象,我们只需要一个对象即可。
class A{
public:
static A& getInstance();
setup(){...}
private:
A();
A(const A& rhs);
...
};
A& A::getInstance(){
ststic A a;
return a;
}
上述代码中类A的构造函数被我们放到了private,外部无法创建A对象,注意static,我们全局只维护这一份对象。外部想访问这个对象只能通过我们给出的接口getInstance来访问。