当前位置: 首页 > news >正文

C++ 利用Clock类和Date类定义一个带日期的时钟类ClockWithDate,且对该对象能进行增加秒数的操作

#include <iostream> using namespace std; // 日期类:年、月、日 class Date { private: int year, month, day; public: Date(int y = 2026, int m = 1, int d = 1) : year(y), month(m), day(d) {} // 日期+1(简化:不区分大小月,只模拟进位) void nextDay() { day++; if (day > 30) { day = 1; month++; } if (month > 12) { month = 1; year++; } } void showDate() { cout << year << "-" << month << "-" << day << " "; } }; // 时钟类:时、分、秒 class Clock { private: int hour, min, sec; public: Clock(int h = 0, int m = 0, int s = 0) : hour(h), min(m), sec(s) {} // 增加1秒,返回true代表满24点,需要日期进一天 bool addSec() { sec++; if (sec >= 60) { sec = 0; min++; } if (min >= 60) { min = 0; hour++; } if (hour >= 24) { hour = 0; return true; } return false; } void showTime() { cout << hour << ":" << min << ":" << sec; } }; // 带日期的时钟类:组合Date和Clock class ClockWithDate { private: Date date; Clock clock; public: // 构造函数初始化日期+时间 ClockWithDate(int y, int m, int d, int h, int mi, int s) : date(y, m, d), clock(h, mi, s) { } // 增加1秒,自动处理日期进位 void addSecond() { bool needAddDay = clock.addSec(); if (needAddDay) date.nextDay(); } // 打印完整日期时间 void show() { date.showDate(); clock.showTime(); cout << endl; } }; int main() { cout << "2504102043谭杰骏"; ClockWithDate t(2026, 6, 23, 23, 59, 58); cout << "初始时间:"; t.show(); t.addSecond(); cout << "加1秒后:"; t.show(); t.addSecond(); cout << "再加1秒后(跨天):"; t.show(); return 0; }
http://www.jsqmd.com/news/1070057/

相关文章:

  • SGLang:重新定义大模型服务的高性能推理框架
  • 课时10:C 语言循环跳转语句详解:break、continue 与 goto
  • Strix Halo 笔记本跑大模型,Ollama 和 LM Studio 谁更顺手
  • 光伏数据库核心三张表结构汇总表
  • [STM32 HAL库][定时器]PWM实验笔记
  • 五眼联盟警告:AI网络攻击或在数月内成真
  • 古韵楚风,诗意天成——探寻《诗经》《楚辞》中的绝美名字
  • 留存不是目标,而是结果:App优化的“心理时间线”法则
  • 跨端迁移:实现应用状态在手机与平板间无缝流转(63)
  • 连锁拓店 / 公装避坑指南①:设计坑
  • 2026 成都 GEO 行业观察:市场格局、典型服务商与企业落地指南
  • 2026燕麦奶口碑排行:营养师推荐清单来了
  • 微软把 Windows 计算器开源了,3 万 Star 背后藏着什么
  • 快慢指针巧解链表环检测(多解)
  • CocoaHTTPServer:为Apple生态系统构建的嵌入式HTTP服务器框架
  • 红日靶场二:WebLogic CVE-2019-2725 到域控沦陷全流程
  • TEMU销售数据统计应该怎么做?看不懂账单的TEMU卖家有福了
  • 别再问 AMD 显卡能不能跑 AI,SGLang 加 TileLang 组合拳给你答案
  • 桑坦德银行向全体员工开放AI工具,首季创造3500万欧元价值
  • 中小企业怎么做GEO优化?AI时代低成本长效获客指南
  • RAG项目简历上人人都在写 但面试官真正想听的只有这六件事
  • 多派生与多继承演示职读类StuTeech
  • Project Based Learning:26万Star的编程项目实战教程集合
  • HIP 算子兼容性排查,AMD 显卡微调中那些奇怪的报错与解法
  • 青年长江答辩PPT 3大致命坑 避开直接提分
  • MateClaw v1.6.0 发布:补齐企业 Agent 工程能力,多方面升级助力生产环境
  • 一站式AI音乐创作平台怎么选?主流AI写歌工具真实使用体验对比
  • AVR单片机内部温度传感器校准指南:从原理到单点/两点校准实践
  • 软件系统集成门槛高?主流系统集成平台测评+实用技巧,新手收藏
  • linux内核中阶梯判断switch-case的一种罕见用法(连续阶梯值的情况)