⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractfacotry.cpp

📁 对设计模式中的factory, 代理等进行了实现。
💻 CPP
字号:
#include "AbstractFacotry.h"




CAbstractFactory* CAbstractFactory::GetFactory(int i)
{
	  if(i==1)
		  return new CConcreteFactory1();
	  else if(i==2)
		  return new CConcreteFactory2();
	  else 
		  return 0;
}



CProductA*  CAbstractFactory::CreateProductA()
{
	return 0;
}
  
CProductB*  CAbstractFactory::CreateProductB()
{
	return 0;
}


CProductA*  CConcreteFactory1::CreateProductA()
{
		return new CProductA1();
}

CProductB*  CConcreteFactory1::CreateProductB()
{
		return new CProductB1();
}
		 
CProductA*  CConcreteFactory2::CreateProductA()
{
		return new CProductA2();
}

CProductB*  CConcreteFactory2::CreateProductB()
{
		return new CProductB2();
}

//==================usage of Abstract Factory:================================

void useAbstractFactory()
{
	CAbstractFactory* pFactory=CAbstractFactory::GetFactory(2);

	CProductA *pA=pFactory->CreateProductA();
	CProductB *pB=pFactory->CreateProductB();
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -