设计模式——简单工厂模式(C++实现)
2024-08-30 14:37:01
#include <iostream>
#include <string> using namespace std; class COperator
{
public:
virtual double GetResult()=; public:
COperator()
{
}
COperator(double number_a, double number_b): m_numberA(number_a), m_numberB(number_b)
{
}
double m_numberA;
double m_numberB;
}; class CSub: public COperator
{
public:
CSub()
{
}
CSub(double number_a, double number_b): COperator(number_a, number_b)
{
}
virtual double GetResult();
}; double CSub::GetResult()
{
return this->m_numberA - this->m_numberB;
} class CAdd: public COperator
{
public:
CAdd()
{
}
CAdd(double number_a, double number_b): COperator(number_a, number_b)
{
}
virtual double GetResult();
}; double CAdd::GetResult()
{
return m_numberA + m_numberB;
} class CFactory
{
public:
static COperator* CreateOperation(char sOpeType);
}; COperator* CFactory::CreateOperation(char sOpeType)
{
switch(sOpeType)
{
case '-':
return new CSub();
break;
case '+':
return new CAdd();
break;
default:
break;
}
} int main(void)
{
COperator* oper = CFactory::CreateOperation('-');
oper->m_numberA = ;
oper->m_numberB = ;
cout<< "oper->m_numberA: "<< oper->m_numberA<< endl;
cout<< "oper->m_numberB: "<< oper->m_numberB<< endl;
cout<< oper->GetResult()<< endl; return ;
}
////////////////////////
[root]$ ./2_simple_factory
oper->m_numberA:
oper->m_numberB:
-
最新文章
- 自定义模拟一个Spring IOC容器
- socket编程中客户端常用函数 以及简单实现
- Object类型与Array类型
- 烂泥:虚拟化KVM安装与配置
- Python学习(4)运算符
- php中的匿名函数(Anonymous functions)和闭包函数(closures)
- web 自定义监听器中设置加载系统相关的静态变量及属性
- IIC 概述之源码仿真
- 为什么java中用枚举实现单例模式会更好
- java中&;和&;&; | 和||的区别
- 利用websocket实现微信二维码码扫码支付
- [机器学习]正则化方法 -- Regularization
- Hive基础之Hive数据类型
- 为什么要重写equals和hashcode方法
- java第二周的学习知识
- Linux:客户端的实现
- css样式冲突问题练习例子
- e559. 创建窗口
- SQL获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
- SqlServer入门学习
热门文章
- ElasticSearch 5.0.0 集群安装部署文档
- uva140
- javascript垃圾收集与性能问题
- Linux中select poll和epoll的区别
- discuz 更换域名 导致qq登录不能用的问题
- 错误代码: 1247 Reference &#39;startTime&#39; not supported (forward reference in item list)
- JavaScript获取当前值
- Day25 前端自学日记——入坑记
- MFC与Webbrower交互(通过JS)
- 如何通过java反射的方式对java私有方法进行单元测试