第一范文网 - 专业文章范例文档资料分享平台

抽象工厂模式鲁菜红烧肉

来源:用户分享 时间:2020-06-22 本文由瓦素小怪兽 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

#include #include using namespace std; //

红烧肉

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; }

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育抽象工厂模式鲁菜红烧肉 全文阅读和word下载服务。

抽象工厂模式鲁菜红烧肉 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1093426.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top