UML
代码设计
struct 促销{ //促销
virtual void discount(Order*) = 0; //优惠(订单)
}
struct 打折 : 促销{ //还有满减、秒杀、还分五一打折、双十一秒杀
void 优惠( 订单 ){
cout << "打折" << endl;
}
}
struct 订单{
public:
订单( 用户 user, 促销 promotion )
void 结算();
void 加入购物车( 商品 item );
private:
促销 instance;
}
main(){
用户 小明;
促销 *promotion = &打折();
订单 order(小明, promotion);
order.加入购物车(......);
order.结算();
}