抽象工厂模式鲁菜红烧肉
更新时间:2023-09-18 16:35:01 阅读量: 幼儿教育 文档下载
#include
红烧肉
class CHongshaorou {
public:
virtual ~CHongshaorou() {}; //
产品使用公共接口
virtual void Start() = 0;//
抽象基类,纯虚函数由派生类去实现
}; //
鲁菜红烧肉
class CHongshaorouLucai : public CHongshaorou {
public:
CHongshaorouLucai() {
cout << \制作鲁菜红烧肉
.\ }
virtual ~CHongshaorouLucai() {}; virtual void Start() {
cout << \鲁菜红烧肉好了 .\ }; };
//
粤菜红烧肉
class CHongshaorouYuecai : public CHongshaorou {
public:
CHongshaorouYuecai()
{
cout << \制作粤菜红烧肉 .\ }
virtual ~CHongshaorouYuecai() {}; virtual void Start() {
cout << \粤菜红烧肉好了 .\ }; }; //
清蒸鱼
class Cqingzhengyu {
public:
virtual ~Cqingzhengyu() {}; //
产品使用公共接口
virtual void Start() = 0;//
抽象基类,纯虚函数由派生类去实现 };
//
鲁菜清蒸鱼
class CqingzhengyuLucai : public Cqingzhengyu {
public:
CqingzhengyuLucai() {
cout << \制作鲁菜清蒸鱼 .\ }
virtual ~CqingzhengyuLucai() {}; virtual void Start() {
cout << \鲁菜清蒸鱼好了
.\ }; }; //
粤菜清蒸鱼
class CqingzhengyuYuecai : public Cqingzhengyu {
public:
CqingzhengyuYuecai() {
cout << \制作粤菜清蒸鱼 .\
}
virtual ~CqingzhengyuYuecai() {}; virtual void Start() {
cout << \粤菜清蒸鱼好了 .\ }; }; //
抽象工厂
class CFactory
{
public:
virtual ~CFactory(){};
virtual CHongshaorou* CreateHongshaorou() = 0; virtual Cqingzhengyu* Createqingzhengyu() = 0; }; //
鲁菜工厂
class CLucaiFactory : public CFactory {
public:
CLucaiFactory() {
cout << \制作鲁菜工厂 .\
}
virtual ~CLucaiFactory(){};
virtual CHongshaorou* CreateHongshaorou() {
return new CHongshaorouLucai; };
virtual Cqingzhengyu* Createqingzhengyu() {
return new CqingzhengyuLucai; }; }; //
粤菜工厂
class CYuecaiFactory : public CFactory {
public: CYuecaiFactory() {
cout << \制作粤菜工厂
.\ }
virtual ~CYuecaiFactory(){};
virtual CHongshaorou* CreateHongshaorou() {
return new CHongshaorouYuecai; };
virtual Cqingzhengyu* Createqingzhengyu() {
return new CqingzhengyuYuecai; };
};
void Test(CFactory* pFactory)
{
CHongshaorou* pHongshaorou = NULL; Cqingzhengyu* pqingzhengyu = NULL;
pHongshaorou = pFactory->CreateHongshaorou();// 制作红烧肉
pqingzhengyu = pFactory->Createqingzhengyu();// 制作清蒸鱼
pHongshaorou->Start();
pqingzhengyu->Start(); delete pqingzhengyu; delete pHongshaorou; };
int main() {
CFactory* pFactory = NULL;// 抽象工厂
//
鲁菜工厂。做红烧肉,清蒸鱼
pFactory = new CLucaiFactory;// 制作鲁菜工厂
Test(pFactory);
delete pFactory; cout< 粤菜工厂。做红烧肉,清蒸鱼 pFactory= new CYuecaiFactory;// 制作粤菜工厂 Test(pFactory); delete pFactory; system(\ return 0; }
正在阅读:
抽象工厂模式鲁菜红烧肉09-18
大学英语泛读教程2UNIT1 课文翻译11-16
电子商务b2c教程07-02
CFA考试复习教材应用指南03-03
2011水利工程监理工程师资格考试案例模拟试题及答案03-21
豪猪作文400字06-23
机电设备维修与管理存在的问题及对策07-20
2012-2013 学年度史店学校阳光体育活动计划05-18
爱玩手机的我作文500字07-08
- ASON技术
- 宜宾市养老助残院名录2018版182家
- 小学生作文21051270
- 蠓虫分类模型
- 商业房地产销售技巧
- 2018江苏省知识产权工程师题目A(83分)
- 通达信行情系统计算规则解释
- 2018届云南省昆明市高三3月复习教学质量检测理综物理试题(解析版)
- 丽水野生花卉现状及发展浅析
- (部编)人教版小学语文一年级上册《 8 zh ch sh r》 公开课获奖教案 - 0
- 浅谈在小学数学中如何培养学生的思维能力
- 无线传感器网络技术与应用现状的研究毕业论文
- 2017-2018年《金版学案》化学必修2(鲁科版)练习:第3章第1节第2课时有机化合物的结构特点 Word版含解析
- 第八章产品策略
- 龙泉青瓷历史现状及各方面比较
- 教学是教和学的双边活动
- 西方哲学智慧作业
- C程序的运行环境和运行一个C程序的方法实验报告
- 传染病聚集发病、聚集性症候群等异常情况的处置
- 小学四年级英语导学案:Unit5 My clothes