cpp课程设计实验题:设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载

2023-11-05

设计一个时间类Time,要求:
(1)包含时(hour)、分(minute)和秒(second)私有数据成员。
(2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间的减加运算符-、重载输出运算符<<与输入运算符>>等。
源代码如下:

#include<iostream>
using namespace std;
class Time
{
friend istream & operator>>(istream &in,Time &t);
friend ostream & operator<<(ostream & out,Time&t);
private:
int hour;
int minute;
int second;
int day;
public:
Time();
Time(int h,int m,int s);
Time operator+(Time &t);
Time operator-(Time &t);
Time operator>>(Time &t);
Time operator<<(Time &t);
};
Time::Time()
{
hour=0;
minute=0;
second=0;
}
Time::Time(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
if(hour>=24){
day=hour/24;
cout<<"时间为"<<day<<"天之后的"<<endl;
hour=hour%24;}
if(hour<0)
{
    cout<<"输入时间错误,无法相减"<<endl;
}
if(minute>=60)
hour=hour+1;
minute=minute%60;
if(minute<0){
hour=hour-1;
minute=minute+60;}
if(second<0){
minute=minute-1;
second=second+60;}
if(second>=60)
minute=minute+1;
second=second%60;
}
Time Time::operator+(Time &t)
{
return Time(hour+t.hour,minute+t.minute,second+t.second);
}
Time Time::operator-(Time &t)
{
return Time(hour-t.hour,minute-t.minute,second-t.second);
}
istream & operator>>(istream &in,Time &t)
{
int h,m,s;
cout<<"请输入时间:"<<endl;
cout<<"请分别输入时、分、秒:"<<endl;
cin>>h>>m>>s;
t.hour=h;
t.minute=m;
t.second=s;
return in;
}
ostream & operator<<(ostream & out,Time&t)
{
cout<<t.hour<<':'<<t.minute<<':'<<t.second<<endl;
return out;
}
main()
{
Time t1;
Time t2;
Time t3;
cin>>t1>>t2;
cout<<"两时间相加:"<<endl;
t3=t1+t2;
cout<<t3;
cout<<"两时间相减:"<<endl;
t3=t1-t2;
cout<<t3;
return 0;
//This code was written by gfh in SCMZU.
}

运行结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cpp课程设计实验题:设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 在Linux中使用C/C++获取机器序列号和CPU ID

    在Linux系统中如何获取机器序列号和CPU ID 示例代码受到高度赞赏 Here http lxr linux no linux v2 6 39 arch x86 include asm processor h L173Linux 内核似
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • C++ 成员函数中的“if (!this)”有多糟糕?

    如果我遇到旧代码if this return 在应用程序中 这种风险有多严重 它是一个危险的定时炸弹 需要立即在应用程序范围内进行搜索和销毁工作 还是更像是一种可以悄悄留在原处的代码气味 我不打算writing当然 执行此操作的代码 相反

随机推荐

  • 简易版 图书管理系统

    目录 1 Book包 1 1 Book类 1 2 BookList类 2 User包 2 1 User抽象类 2 2 AdminUser类 2 3 NormalUser类 3 Operate包 3 1 MyOperate接口 3 2 Add
  • 【操作系统】

    请解释下局部性原理 通俗易懂的解释 二维数组两维不同遍历的实例 关于CPU三级缓存的介绍 b
  • bes2300 tws配对_tws 耳机春天来了!

    本人负责蓝牙耳机音箱厂家的市场拓展 经常接触国内外各种卖家 专注亚马逊 京东的精品卖家 也有日本 欧美等线下渠道等的B端客户 当然作为行业的业务 也经常接触同行工厂 购买同行的产品或者借用产品用来测试 所以对产品的发展技术趋势及产品的体验感
  • 一文详解Spring事务传播机制

    目录 背景 Spring事务 Transactional注解 使用场景 失效场景 原理 常用参数 注意 事务传播机制 处理嵌套事务流程 主事务为REQUIRED子事务为REQUIRED 主事务为REQUIRED子事务为REQUIRES NE
  • Android JNI 打印日志

    首先要保证Cmake文件中有log模块引用 不然编译不通过 编译一个库 add library native lib 库的名字 SHARED 动态库 so库 native lib cpp 需要编译的C 文件 相当于定义一个变量log lib
  • 内核模式驱动程序的网络结构

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 1 Windows 2000 网络结构和OSI模型 Windows 2000网络结构是以国际标准化组织 ISO 制定的七层网络模型为基础的
  • 刷脸支付助力商家吸引客户增加客流量

    顾客支付完成后 直接领取会员卡 保存到微信卡包 可以作为充值卡 积分卡 打折卡 商家可以进行自定义 使用方便 不易丢失 灵活度高 同时商家还可以设置一键分享会员卡 通过老顾客转介绍有礼 快速增加会员 商家可自行发送优惠劵 通过刷脸支付即可领
  • ubuntu添加vlan和路由追踪

    1 linux添加vlan子接口 安装vconfig命令 apt get install vlan vconfig add eth0 105 eth0为物理网络接口名称 ifconfig eth0 105 192 168 105 10 对上
  • HTML 5 Canvas vs. SVG

    一 SVG SVG 是一种使用 XML 描述 2D 图形的语言 SVG 基于 XML 这意味着 SVG DOM 中的每个元素都是可用的 您可以为某个元素附加 JavaScript 事件处理器 在 SVG 中 每个被绘制的图形均被视为对象 如
  • 面试题 02.03. 删除中间节点

    面试题 02 03 删除中间节点 删除中间节点 这道题是说只能访问中间某个位置的节点 然后要把它删除 由于没给前驱指针 如果真的删了中间的节点 链表就断开了 所以考虑把下一个节点的值赋给当前节点 然后删除下一个节点 这样就相当于删除了中间节
  • 幸福感

    抱怨 坦荡的看自己 做自己 我有什么 我要什么 我愿意放弃什么 公平 我们过这一生是为什么呢 世界什么时公平与不公平呢 人最宝贵的 客观的 生命和时间 心态 幸福感来自于心态 一个乐观的心态 每天都会发生很多事情让自己很浮躁 有时会觉得身心
  • [1042]JWT加密

    文章目录 简介 起源 数据格式 JWT交互流程 python使用jwt 非对称加密 简介 JWT 全称是Json Web Token 是JSON风格轻量级的授权和身份认证规范 可实现无状态 分布式的Web应用授权 jwt的解析工具 http
  • 有人物联口红DTU DR154配置与RS 485传感器数据处理

    一 硬件设备 1 有人物联口红DTU DR154 RS 485版本 配置的话通过小程序 联博士 蓝牙配置 手机扫描DTU背后的二维码即可 蓝牙密码也在背面 省去了连接电脑硬件配置的繁琐步骤 2 温度传感器 速灵科RSDS5 RS485接口
  • C语言位运算符及作用:与、或、异或、取反、左移和右移

    一 按位与 如果两个相应的二进制位都为1 则该位的结果值为1 否则为0 应用 1 清零 若想对一个存储单元清零 即使其全部二进制位为0 只要找一个二进制数 其中各个位符合一下条件 原来的数中为1的位 新数中相应位为0 然后使二者进行 运算
  • java反编译篇--miaow.Y.Hu

    好了 好久没更新了 今天来一篇关于java反编译的篇举例子 Java编译文件是指通过Java编译器将Java源代码文件 java文件 编译成字节码文件 class文件 的过程 在Java中 源代码文件包含人类可读的文本 而字节码文件是计算机
  • 常见分布的密度函数图像

    常见分布的密度函数图像 作者 凯鲁嘎吉 博客园 http www cnblogs com kailugaji 一 gamma分布 1 2 3 二 beta分布 1 a 1 2 b 1 3 三 卡方分布 四 t分布 五 F分布 1 n1 5
  • 垃圾分类小程序(含源码)

    前言 鉴于前期一段时间 自己接触小程序这块儿 根据当时的政策 随编写了垃圾分类小程序 在后期也做了很多的功能迭代 基本满足目前市面上的使用需求 期间也对当时垃圾分类的方案进行了简单汇总 可回收物 可回收物就是再生资源 指生活垃圾中未经污染
  • JDK1.8中关于HashMap的红黑树讲解

    一 首先需要了解以下几个问题 为什么要引入红黑数 特殊的平衡二叉树 数据结构 引入红黑树HashMap做了哪些改造 红黑树的特性 红黑树的具体实现方式 二 逐一解释以上三个问题 1 1 为什么要引入红黑数 特殊的平衡二叉树 数据结构 由于在
  • Matlab:如何读取并处理txt数据?

    Matlab 如何读取并处理txt数据 在Matlab中 读取和处理文本文件是非常常见的任务 txt文件是最常见的文本文件格式之一 可以包含各种类型的数据 此处介绍在Matlab中如何读取和处理txt文件 导入txt文件 Matlab提供了
  • cpp课程设计实验题:设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载

    设计一个时间类Time 要求 1 包含时 hour 分 minute 和秒 second 私有数据成员 2 包含构造函数 重载关于一时间加上另一时间的加法运算符 重载关于一时间减去另一时间的减加运算符 重载输出运算符 lt lt 与输入运算