多态案例-饮品制作

创建饮品共同操作的抽象类

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);
}

 运行结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值