纯虚函数就是在父类中将virtual void func(){}的花括号去掉改成=0:即 virtual void func()=0;
今天参照视频学习写一下制作饮品的代码,当做笔记以备未来的学习翻阅。
#include<iostream>
using namespace std;
class AbstractDrinking {
public:
virtual void zhushui() = 0;
virtual void chongpao() = 0;
virtual void daobeizi() = 0;
virtual void addZuoliao() = 0;
void makeDrinking() {
zhushui();
chongpao();
daobeizi();
addZuoliao();
}
};
class coffee :public AbstractDrinking {
public:
virtual void zhushui() {
cout << "煮农夫山泉水" << endl;
}
virtual void chongpao() {
cout << "冲泡咖啡" << endl;
}
virtual void daobeizi() {
cout << "倒入陶瓷杯中" << endl;
}
virtual void addZuoliao() {
cout << "添加糖和牛奶" << endl;
}
};
class Tea :public AbstractDrinking {
public:
virtual void zhushui() {
cout << "煮百岁山水" << endl;
}
virtual void chongpao() {
cout << "冲泡茶叶" << endl;
}
virtual void daobeizi() {
cout << "倒入玻璃杯中" << endl;
}
virtual void addZuoliao() {
cout << "添加枸杞" << endl;
}
};
void startMake(AbstractDrinking* abs) {
abs->makeDrinking();
delete abs;
}
void mytest0001() {
startMake(new coffee);
cout << "----------------------" << endl;
startMake(new Tea);
}
int main() {
mytest0001();
system("pause");
return 0;
}
输出结果:
煮农夫山泉水
冲泡咖啡
倒入陶瓷杯中
添加糖和牛奶
----------------------
煮百岁山水
冲泡茶叶
倒入玻璃杯中
添加枸杞
请按任意键继续. . .