c++多态案例之制作饮品

时间:2019-12-26
本文章向大家介绍c++多态案例之制作饮品,主要包括c++多态案例之制作饮品使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

制作饮品的过程大致为:煮水、冲泡、倒入杯中、加入调料。

#include<iostream>
using namespace std;

class AbstractDrink {
public:
    virtual void Boil() = 0;
    virtual void Brew() = 0;
    virtual void PourInCup() = 0;
    virtual void PutSomething() = 0;
    void makeDrink() {
        Boil();
        Brew();
        PourInCup();
        PutSomething();
    }
};
class Milk:public AbstractDrink {
    virtual void Boil() {
        cout << "正在煮水" << endl;
    }
    virtual void Brew() {
        cout << "冲泡牛奶" << endl;
    }
    virtual void PourInCup() {
        cout << "倒入杯中" << endl;
    }
    virtual void PutSomething() {
        cout << "加入麦片" << endl;
    }
};
class Coffe :public AbstractDrink {
    virtual void Boil() {
        cout << "正在煮水" << endl;
    }
    virtual void Brew() {
        cout << "冲泡咖啡" << endl;
    }
    virtual void PourInCup() {
        cout << "倒入杯中" << endl;
    }
    virtual void PutSomething() {
        cout << "加入牛奶" << endl;
    }
};
void doWork(AbstractDrink * abs) {
    abs->makeDrink();
    delete abs;
}
void test() {
    doWork(new Milk);
    cout << "---------------" << endl;
    doWork(new Coffe);
}

int main() {
    test();
    system("pause");
    return 0;
}

输出:

原文地址:https://www.cnblogs.com/xiximayou/p/12102257.html