你都知道单例模式这个概念, 还不会实现? 看来你根本就不知道单例模式的真正含义。 知道了用什么语言实现都是一个道理。
1. 设置一个指针为static, 比如:static ClassA *a; // 请问楼主:为什么要用static ?
2. 把构造函数设为private, 这个在别的类就不可以构造改类, 比如:
private: // 请问楼主:知道为什么要设置为private吗?
ClassA();
3. 提供一个static类型的getInstance()函数,用来得到类的实例。 比如;
ClassA* ClassA::getInstance() {
if (!a) a = new ClassA(); // 请问楼主, 为什么要这样写?
// do something else
return a;
}
楼主如果明白了上面三个为什么, 就应该知道单例模式怎么写了。