C++ OJ习题练习(十)设计管理出版物的类

2023-11-02

Problem Description

某出版社发行图书和光盘,利用继承设计管理出版物的类。

要求如下:建立一个基类Publication存储出版物的标题title、出版物名称name、单价price及出版日期date;用Book和CD类分别管理图书和光盘,它们都从Publication类派生;Book类具有保存图书页数的数据成员page,CD类具有保存播放时间的数据成员playtime;每个类都有构造函数、析构函数,且都有用于从键盘获取数据的成员函数inputData()和用于显示数据的成员函数display()。

请完成下面的程序:

#include<iostream>
#include<string>
using namespace std;
struct Date{//年月日
    int year;
    int month;
    int day;
    Date(int y=0,int m=0,int d=0){year=y;month=m;day=d;}
    ~Date(){}
};
struct Time{//时分秒
    int hour;
    int minute;
    int second;
    Time(int h=0,int m=0,int s=0){hour=h;minute=m;second=s;}
    ~Time(){}
};
class Publication{
private:
    string title;//出版物的标题title
    string name;//出版物的名称name
    float price;//出版物的单价price
    Date date; //出版日期date
public:
    Publication(string t="",string n="",float p=0,int h=0,int m=0,int s=0):date(h,m,s){
        title=t;name=n;price=p;}
    ~Publication(){}
    void inputdata(){        
        cin>>title;        
        cin>>name;        
        cin>>price;        
        cin>>date.year>>date.month>>date.day;
        }
    void display(){
        cout<<"*****display*****"<<endl;
        cout<<"title:"<<title<<endl;
        cout<<"name:"<<name<<endl;
        cout<<"price:"<<price<<endl;
        cout<<"year-month-day:"<<date.year<<"-"<<date.month<<"-"<<date.day<<endl;
        }
};
//你的代码将被嵌在这里
int main()
{
    Book b;
    CD c(1,2,3,"郎朗","肖邦钢琴协奏曲",61,2018,8,1);
    b.inputdata();
    b.display();
    c.display();    
    return 0;
}

Input Description

文学作品
西游记
28
2018 1 8
280

Sample Output

*****display*****
title:文学作品
name:西游记
price:28
year-month-day:2018-1-8
pages:280
*****display*****
title:郎朗
name:肖邦钢琴协奏曲
price:61
year-month-day:2018-8-1
playtime(h:m:s) 1:2:3

解题代码

class Book:public Publication{
    int page;
public:
    Book(){}
    void inputdata()
    {
        Publication::inputdata();
        cin >> page;
    }
    void display()
    {
        Publication::display();
        cout <<"pages:" << page <<endl;
    }
};

class CD:public Publication{
    Time playtime;
public:
    CD(int hour,int minute,int second,string title,string name,float price,int year,int month,int day):Publication(title,name,price,year,month,day),playtime(hour,minute,second){}
    void display()
    {
        Publication::display();
        cout <<"playtime(h:m:s) " << playtime.hour << ":" << playtime.minute << ":" << playtime.second << endl;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ OJ习题练习(十)设计管理出版物的类 的相关文章

  • IIS应用程序池回收+quartz调度

    我正在 IIS 7 5 上运行一个 Web 应用程序 它需要偶尔回收 否则内存使用情况会失控 这是我正在研究的问题 当它回收时 它实际上不会运行 直到另一个请求到来 而quartz不会运行 有没有办法让IIS在回收应用程序池后立即自动启动1
  • 添加 Nullable int 时保持 null?

    我想添加可为空的int 并保留null当所有值都是null 我想要这个结果 1 2 3 1 null 1 null null null O null 0 问题是 如果我将一个值与 null 相加 结果为 null int i1 1 int
  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • 有没有办法在 xcode 上使用 c++0x ?我想使用 gcc 4.4 或更高版本

    我想使用 gcc 4 4 或更高版本进行 iphone 开发 有人知道怎么做吗 不 你不知道 相信我 你不会 Apple 仍保留 gcc 4 2 1 因为 4 2 2 及更高版本使用 GPLv3 这意味着他们必须放弃对其平台的控制 对于 i
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • std::call_once 可重入且线程安全吗?

    std call once http en cppreference com w cpp thread call once是线程安全的 但它也是可重入的吗 我使用 VS2012 调试和发布 进行的测试表明 调用std call once从单
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • C# 5 async/await 线程机制感觉不对?

    为什么让调用线程进入异步方法直到内部 等待 一旦调用异步方法就生成一个线程 这不是更干净吗 这样您就可以确定异步方法会立即返回 您不必担心在异步方法的早期阶段没有做任何昂贵的事情 我倾向于知道某个方法是否要在 我的 线程上执行代码 不管是堵
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 如何调试 .NET 运行时中的内部错误?

    我正在尝试调试一些处理大文件的工作 代码本身works 但 NET 运行时本身会报告零星错误 对于上下文 这里的处理是一个 1 5GB 文件 仅加载到内存中一次 在循环中处理和释放 故意尝试重现此否则不可预测的错误 我的测试片段基本上是 t
  • 结构化绑定的用例有哪些?

    C 17 标准引入了新的结构化绑定 http en cppreference com w cpp language structured binding功能 最初是proposed http www open std org jtc1 sc

随机推荐

  • 生物识别技术在场景应用中发挥重大作用

    相较于条码支付 刷脸支付的硬件成本还是比较高 而且占空间 因此 其应用场景没有条码支付丰富 微信扫脸支付 在商超 餐饮以及便利店等场景中 收银空间是有限的 布放哪怕像PAD大小的刷脸支付设备都会觉得局促 如果同时布放两个哪怕像PAD大小的设
  • Odoo 进销存报表现已开源

    根据会计区间或自定义查询时间段 对仓库的产品出入库情况进行查看 模块地址参见内部群公告
  • 谷粒商城微服务分布式高级篇ElasticSearch四——Java使用ElasticSearch

    文章目录 ElasticSearch Rest Client Java使用ElasticSearch 存储数据到ES 从ES检索数据 项目使用ES ElasticSearch Rest Client Java使用ElasticSearch
  • 迷你世界箱子里物品无限取

    废话少说代码如下 在高度为8的箱子可以无限补给 function f e WorldContainer addItemToContainer e x e y e z e itemid e itemnum end 关闭盒子 函数 f 下面是添
  • TypeScript项目配置

    前言 我们需要建立tsconfig json 作用 用于标识 TypeScript 项目的根路径 用于配置 TypeScript 编译器 用于指定编译的文件 重要字段 files 设置要编译的文件的名称 include 设置需要进行编译的文
  • offsetTop、offsetParent、scrollTop以及vue如何实现左右联动效果

    offsetTop 元素到offsetParent顶部的距离 offsetParent 距离元素最近的一个具有定位的祖宗元素 relative absolute fixed 若祖宗都不符合条件 offsetParent为body 如下图所示
  • OrangePi 4b Lts GPIO最高输出频率测试

    根据示波器显示的值 在写入高低电平各有一个usleep 1 时可以输出稳定10kHz的方波 但是10k每段有50us 不知道usleep 1 为什么会变成50us 可能是digitalWrite稳定时间比较长 直接死循环里digitalWr
  • 学生管理系统主要界面

    目录 1 登录界面 login 2 信息管理界面 main 3 页面展示 本篇文章主要介绍学生管理系统主要界面 至于各界面中所含代码均基于Servlet 创建 使用 生命周期 http协议 http请求 http响应 过滤器 Ajax 异步
  • gtest编译和使用

    最近想总结一下gtest的使用 方便后面查阅 1 编译安装googletest 2 编写测试用例 3 编译测试和调试代码 1 编译安装googletest github上下载googletest release 1 10 0 这里需要注意该
  • 关于STM32按键实验中连接按键的GPIO管脚是配置为上拉输入还是下拉输入的理解

    关于STM32按键实验中连接按键的GPIO管脚是配置为上拉输入还是下拉输入的理解 以正点原子按键输入实验为例 1 按键KEY0 lt gt PE4 按键另一端接GND 2 按键KEY1 lt gt PE3 按键另一端接GND 3 按键WK
  • 【力扣】最接近的三数之和

    给你一个长度为 n 的整数数组 nums 和 一个目标值 target 请你从 nums 中选出三个整数 使它们的和与 target 最接近 返回这三个数的和 假定每组输入只存在恰好一个解 示例 1 输入 nums 1 2 1 4 targ
  • 生命的进程

    比我们活着时间长的人自然能呼吸到更多的空气 也必将有我们所不了解的生活阅历和技能 尊重他人 就是成就自己
  • VulnHub-Sick0s1.2

    目录 简介 信息收集 漏洞发现 漏洞利用 权限提升 总结 简介 该靶机是Sick0s系列的第二个靶机 总体来说不难 提权那里需要花点时间 毕竟linpeas脚本没有将计划任务标红 总之我个人尝试了很久内核提权 浪费了大量时间 而且不知道是w
  • C++函数参数的默认值

    一 函数参数的默认值 1 函数参数的默认值就是说在声明函数或者定义函数的时候直接在参数后给赋值 这样在函数调用的时候调用方可以不用再给传值 它会默认使用它的默认值 错误实例 在给函数参数赋默认值的时候要注意以下几点 1 参数默认值必须从右向
  • GET--POST的同步/异步请求

    同步请求的过程不能进行其他操作 而异步请求相当于开了一个支路 可以进行其他操作 但是请求的结果得返回到主线程 GET同步请求 NSString strURL http api map baidu com place v2 search qu
  • 客户端下载

    include
  • 设计模式的 C++ 实现---中介者模式

    前文回顾 单例模式 一 单例模式 二 观察者模式 简单工厂模式 工厂方法模式 一 工厂方法模式 二 抽象工厂模式 一 抽象工厂模式 二 原型模式 外观模式 前言 中介者模式主要用于多个对象之间的交互 所谓交互就是会互相调用对方的接口方法 中
  • JDK1.8 下载及安装

    JDK 下载 官网下载地址 https www oracle com java technologies javase downloads html 打开网页后找到 Java SE 8u241 点击 JDK Download 选择电脑对应的
  • Grafana插件Plugin中文汉化

    示例Github地址 汉化三方插件 前面说过汉化Grafana的工作 目前在7 2 1上面 大部分已经完成 细节继续完善 今天考虑在第三方插件上做一些汉化 点到插件一看全是英文感觉很突出 领导看到了也不爽啊 找个软的捏 饼图在展示方面比较直
  • C++ OJ习题练习(十)设计管理出版物的类

    Problem Description 某出版社发行图书和光盘 利用继承设计管理出版物的类 要求如下 建立一个基类Publication存储出版物的标题title 出版物名称name 单价price及出版日期date 用Book和CD类分别