1. 程式人生 > 其它 >C++多型案例二-製作飲品

C++多型案例二-製作飲品

技術標籤:C++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類電子書等你來拿。

在這裡插入圖片描述