创建饮品共同操作的抽象类
class AbstructDrinking {
public:
//煮水
virtual void Boil() = 0;
//冲泡
virtual void Making() = 0;
//总和
void myDrink(){
Boil();
Making();
}
};
子类Coffee类
class Coffee :public AbstructDrinking {
void Boil() {
cout << "咖啡制作,煮水ing" << endl;
}
void Making() {
cout << "咖啡制作,冲泡ing" << endl;
}
};
子类茶类
class Tea :public AbstructDrinking {
void Boil() {
cout << "茶制作,煮水ing" << endl;
}
void Making() {
cout << "茶制作,冲泡ing" << endl;
}
};
写一个用来制作饮品的函数
void doWork(AbstructDrinking* drink) {
drink->myDrink();
delete drink;
}
Test
int main() {
doWork(new Coffee);
doWork(new Tea);
}
运行结果