̄  ̄)σ666 2023-10-13 16:07 采纳率: 92%
浏览 4
已结题

设计VIP功能,买了的话有打折

在前面已经设计好了产品,价格,数量,充值,购买,花费之类的,现在要添加一个VIP功能,能给先前设计好的商品购买的时候打8折,这要怎么设计,是要用到函数的重载吗?具体要怎么实现啊?

img

img

img


下面的是我弄的,但是我不知道对不对,

img

  • 写回答

2条回答 默认 最新

  • 凭空起惊雷 2023-10-13 20:11
    关注

    要实现VIP功能,可以在商品类中添加一个成员变量isVIP,表示该商品是否支持VIP折扣。然后在购买时,判断用户是否为VIP,如果是VIP,则将商品价格打8折。可以通过重载购买函数来实现这个功能。

    具体实现步骤如下:

    1. 在商品类中添加一个bool类型的成员变量isVIP,表示该商品是否支持VIP折扣。
    2. 在购买函数中,添加一个bool类型的参数isVIP,表示用户是否为VIP。
    3. 如果用户是VIP且商品支持VIP折扣,则将商品价格打8折。
    4. 如果用户不是VIP或者商品不支持VIP折扣,则按照原价购买。

    示例代码如下:

    class Product {
    public:
        Product(string name, double price, int quantity, bool isVIP = false) {
            this->name = name;
            this->price = price;
            this->quantity = quantity;
            this->isVIP = isVIP;
        }
    
        void buy(int count, bool isVIP = false) {
            if (isVIP && this->isVIP) {
                cout << "Total price: " << price * count * 0.8 << endl;
            } else {
                cout << "Total price: " << price * count << endl;
            }
        }
    
    private:
        string name;
        double price;
        int quantity;
        bool isVIP;
    };
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月13日

悬赏问题

  • ¥15 如何使用simulink建立一个永磁同步直线电机模型?
  • ¥30 天体光谱图的的绘制并得到星表
  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗