C++多态案例二-制作饮品

案例描述:

制作饮品的大致流程为:煮水-冲泡-倒入杯中-加入辅料

利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡喝茶叶

代码示例:

#include <iostream>
using namespace std;
//多态的案例二-制作饮品
class AbstractDrinking
{
   
public:
       //煮水
       virtual void Boil() = 0;
       //冲泡
       virtual void Brew() = 0;
       //倒入杯中
       virtual void PourInCup() = 0;
       //加入辅料
       virtual void PutSomething() = 0;
       //制作饮品
       void makeDrink()
       {
   
              Boil();
              Brew();
              PourInCup();
              PutSomething();
       }
};
//制作咖啡
class Coffee :public AbstractDrinking
{
   
public:
       //煮水
       virtual void Boil()
       {
   
              cout << "煮农夫山泉"<<endl;
       };
       //冲泡
       virtual void Brew()
       {
   
              cout << "冲泡咖啡" << endl;
       };
       //倒入杯中
       virtual void PourInCup()
       {
   
              cout << "倒入杯子中" << endl;
       
       };
       //加入辅料
       virtual void PutSomething()
       {
   
              cout << "加入糖和牛奶" << endl;
       };
};
//制作茶叶
class Tea :public AbstractDrinking
{
   
public:
       //煮水
       virtual void Boil()
       {
   
              cout << "煮矿泉水" << endl;
       };
       //冲泡
       virtual void Brew()
       {
   
              cout << "冲泡茶叶" << endl;
       };
       //倒入杯中
       virtual void PourInCup()
       {
   
              cout << "倒入杯子中" << endl;
       };
       //加入辅料
       virtual void PutSomething()
       {
   
              cout << "加入枸杞" << endl;
       };
};
//制作函数
void doWork(AbstractDrinking *abs)
{
   
       abs->makeDrink();
       delete abs;   //释放
}
void test01()
{
   
       //制作咖啡
       doWork(new Coffee);
       cout << "--------------------- "<< endl;
       //制作茶叶
       doWork(new Tea);
}
int main()
{
   
       test01();
       return 0;
}

更多精彩文章请关注微信公众号:YQ编程,或微信扫描以下二维码关注,还有许多IT类电子书等你来拿。

C/C++基础 文章被收录于专栏

本专栏收录C/C++编程语言相关知识

全部评论

相关推荐

SaviorSu:直接说下学期可以请假,一般情况学校允许我26届,大三就直接去实习了
点赞 评论 收藏
分享
程序员花海_:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务