基于vip等级的策略模式,我理解的是否正确呢?
class VipStrategy {
public:
//领取每日礼物
virtual int get_daily_gift() = 0;
virtual ~VipStrategy() = default;
};
class Vip1 : public VipStrategy {
public:
int get_daily_gift() override {
return 5000;
}
};
class Vip2 : public VipStrategy {
public:
int get_daily_gift() override {
return 10000;
}
};
class Context {
private:
VipStrategy* _vipStrategy = nullptr;
public:
explicit Context(VipStrategy* vipStrategy) : _vipStrategy(vipStrategy) {
}
~Context() {
delete _vipStrategy;
}
void get_daily_gift() {
this->_vipStrategy->get_daily_gift();
}
};
int main(const int argc, const char* argv[]) {
Context context(new Vip1());
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论