C++单例模式笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/nick_chain/article/details/87074645

何为单例模式?

答:单例模式就是一个类只能被初始化一次,即只能有一个实例化的对象类。

要保证一个类有一个实例化的对象,要保证该类不能被别人定义或者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;

}

结果,地址都为一样,故单例模式成功。

猜你喜欢

转载自blog.csdn.net/nick_chain/article/details/87074645