单例实现
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Singleton { public: static Singleton* Instance() //只提供一个公有化的指针返回 { return instance; } private: Singleton() //私有化默认构造参数 {} Singleton(const Singleton& s) //私有化拷贝构造 {} static Singleton* instance; //私有化静态变量 }; Singleton* Singleton::instance = new Singleton; //初始化 void test601() { Singleton* s1 = Singleton::Instance(); Singleton* s2 = Singleton::Instance(); if (s1 == s2) { cout << "s1和s2相同" << endl; } }
私有化拷贝构造,无法通过拷贝构造出新的指针