单实例类 和 工厂类(创建的多个对象都在堆区)

博客围绕单实例类和工厂类展开,提及它们创建的对象都在堆区,涉及到面向对象编程中这两种类的对象创建方式及存储位置等信息技术关键内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#pragma once
//单实例类
class CB
{
public:
	//static CB& GetCB()
	//{
	//	static CB cb(1,2);
	//	return cb;//静态全局区
	//}
	//static CB& GetCB()
	//{
	//	//堆区:
	//	static CB *pcb = new CB(1,2);
	//	return *pcb;//堆区
	//}

	//static CB* GetCB()
	//{
	//	static CB cb(1,2);
	//	return &cb;//静态全局区
	//}
	static CB* GetCB()
	{
		m_count++;
		if (nullptr == m_pcb)
			m_pcb = new CB(1, 2);
		return m_pcb;//堆区
	}
	static  void Del()
	{
		m_count--;
		if (0 == m_count)
		{
			delete m_pcb;
			m_pcb = nullptr;
		}
	}
private:
	~CB();
	CB(int,int);
	static CB *m_pcb;
	static int m_count;
};



#include "B.h"

CB* CB::m_pcb = nullptr; 
int CB::m_count = 0;
CB::CB(int,int)
{

}


CB::~CB()
{
}
























#pragma once
/*
	创建多个对象,保证每一个对象都是在堆区
*/
class CC
{
public:
	static CC* CreateCC()
	{
		return new CC;
	}
	~CC();
private:
	CC();

};







#include "C.h"


CC::CC()
{

}


CC::~CC()
{
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值