首页 > 编程语言 >C++ //练习 15.7 定义一个类使其实现一种数量受限的折扣策略,具体策略是:当购买书籍的数量不超过一个给定的限量时享受折扣,如果购买量一旦超过了限量,则超出的部分将以原价销售。

C++ //练习 15.7 定义一个类使其实现一种数量受限的折扣策略,具体策略是:当购买书籍的数量不超过一个给定的限量时享受折扣,如果购买量一旦超过了限量,则超出的部分将以原价销售。

时间:2024-07-13 22:27:22浏览次数:12  
标签:std const 折扣 price 类使 qty Quote double 限量

C++ Primer(第5版) 练习 15.7

练习 15.7 定义一个类使其实现一种数量受限的折扣策略,具体策略是:当购买书籍的数量不超过一个给定的限量时享受折扣,如果购买量一旦超过了限量,则超出的部分将以原价销售。

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
/*************************************************************************
	> File Name: ex15.7.cpp
	> Author: 
	> Mail: 
	> Created Time: Fri 12 Jul 2024 09:13:44 AM CST
 ************************************************************************/

#include<iostream>
using namespace std;

class Quote{
    public:
    Quote() = default;
    Quote(const std::string &book, double sales_price): bookNo(book), price(sales_price) {}
    std::string isbn() const { return bookNo; }
    
    virtual double net_price(std::size_t n) const { return n * price; }
    virtual ~Quote() = default;

    private:
    std::string bookNo;
    
    protected:
    double price = 0.0;
};

class Bulk_quote: public Quote{
    public:
    Bulk_quote() = default;
    Bulk_quote(const std::string& book, double p, std::size_t qty, double disc): Quote(book, p), min_qty(qty), discount(disc) {}
    double net_price(std::size_t) const override;

    private:
    std::size_t min_qty = 0;
    double discount = 0.0;
};

double Bulk_quote::net_price(size_t cnt) const{
    if (cnt <= min_qty){
        return cnt * (1 - discount) * price;
    }
    else{
        return min_qty * (1 - discount) * price + (cnt - min_qty) * price;
    }
}

double print_total(ostream &os, const Quote &item, size_t n){
    double ret = item.net_price(n);
    os<<"ISBN: "<<item.isbn()<<" # sold: "<<n<<" total due: "<<ret<<endl;
    return ret;
}

int main(){
    Bulk_quote bulk("1-201-Y-12333", 10, 10, 0.5);
    print_total(cout, bulk, 20);

    return 0;
}
运行结果显示如下

在这里插入图片描述

标签:std,const,折扣,price,类使,qty,Quote,double,限量
From: https://blog.csdn.net/navicheung/article/details/140373166

相关文章

  • 荣耀Magic V Flip携手Jimmy Choo,限量高定璀璨登场
    在时尚与科技不断碰撞融合的今天,荣耀再度掀起波澜,于近日正式官宣荣耀MagicVFlip小折叠屏手机的JimmyChoo限量高定款,为追求个性与高端品质的消费者带来了一场视觉盛宴。从官方释出的宣传图中,我们得以一窥这款独特机型的迷人风采,其设计灵感仿佛源自璀璨星空,让人眼前一亮。......
  • Environment类使用
    Environment.getProperty是Spring框架中的一个方法,它属于org.springframework.core.env.Environment接口。这个方法主要用于从应用程序的运行环境中读取配置属性值。当你需要在代码中动态获取配置文件(如application.properties或application.yml)中的某个属性时,getProperty就非常......
  • 五一~感恩回馈,SolidKits工具折扣来袭!
    SOLIDWORKS插件多样且丰富,有着不同的种类和用途,可以为SOLIDWORKS软件本身提升使用效率,更快速的响应你的操作方式。SolidKits自主设计研发多款SOLIDWORKS增效插件,包括:自动化参数设计插件、高级BOM插件、批量编码器插件、标准件增强工具等,也可提供按需定制开发服务。自动完成重复性......
  • 数据分享|R语言机器学习预测案例合集:众筹平台、机票折扣、糖尿病患者、员工满意度
    全文链接:https://tecdat.cn/?p=35835原文出处:拓端数据部落公众号分析师:YujieZhou,WeixinHu,XiaoyanXu,XuTian在数据驱动的当代社会,机器学习已成为揭示复杂现象、预测未来趋势的重要工具。特别是在商业决策、健康管理、交通出行等多个领域,机器学习技术的应用日益广泛。本文集合......
  • Thread 类使用及常用操作
    Thread类是JVM用来管理线程的一个类,换句话说,每个线程都有一个唯一的Thread对象与之关联。每个执行流,也需要有一个对象来描述,类似下图所示,而Thread类的对象就是用来描述一个线程执行流的,JVM会将这些Thread对象组织起来,用于线程调度,线程管理。1Thread的常见构造方......
  • CyberDog测试视频 —— 【开箱】小米"限量"机器狗!被我玩坏了...
    地址:https://www.youtube.com/watch?v=3ntAhy3thXMPS.现在的智能机器人其实真的没有人们想象中的那么智能。感觉现在的智能机器人最为有用的功能一个是倒地自动重新站立,一个是急停控制。......
  • 微信小程序关于小说类使用官方阅读器
    https://doc.weixin.qq.com/doc/w3_AAcAYAbdAFwpM63n1R5SIat3aa4cX?scode=AJEAIQdfAAoYHVCBbdAG4A1QYmAFQ上面是文档链接引入{"plugins":{"novel-plugin":{"version":"latest","provider":"wx293......
  • drf : 序列化类使用many参数的作用,源码解析
    序列化类使用many参数的作用views.pyfromrest_framework.viewsimportAPIViewfrom.serizlizerimportBookSerializersfromrest_framework.responseimportResponsefrom.modelsimportBooksclassBookView(APIView):defpost(self,request):print(r......
  • Java面向对象之内部类的几类使用场景
    介绍Java内部类是一种特殊的类,它定义在另一个类的内部。内部类提供了许多有用的特性,包括访问外部类的私有成员、隐藏实现细节以及实现回调接口等。以下是Java内部类的一些常用场景及其举例说明:回调接口当某个类需要一个对象来执行其方法时,通常可以使用回调接口。这时,内部类可以......
  • 2024年全网最新的百度网盘超级会员SVIP底价购买一个月仅需18元起低价购买的方式,百度网
    由于资源敏感,如果有需要可以关注公众号“沙雕表情包专业户”回复**百度网盘SVIP**,即可获得低于市场价格的优惠渠道。  **新用户:**svip会员连续包年188元,可省110元,平均一天0.51元svip会员连续包季48元,可省40元,平均一天0.53元svip会员连续包月18元,可省12元,平均一天0.6元**老......