何为单例模式?
答:单例模式就是一个类只能被初始化一次,即只能有一个实例化的对象类。
要保证一个类有一个实例化的对象,要保证该类不能被别人定义或者new出来。
静态成员函数只能访问静态成员方法或者静态成员
非静态成员即可访问静态成员,方法和非静态成员,方法
#include <iostream>
class Test {
public:
Test() {}
virtual ~Test() {}
//静态成员函数相当于全局函数 静态成员函数只能访问静态成员和静态成员函数
static Test* getInstance() {
return pTest;
}
private:
static Test* pTest;
};
static Test g_test;
Test *Test::pTest = &g_test;
int main()
{
Test *myTest = Test::getInstance();
Test *myTest1 = Test::getInstance();
std::cout <<myTest << std::endl;
std::cout <<myTest1<<std::endl;
}
结果,地址都为一样,故单例模式成功。