当前位置: 首页 > 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.gsyq.cn/news/1582007.html

相关文章:

  • 古韵楚风,诗意天成——探寻《诗经》《楚辞》中的绝美名字
  • 微软把 Windows 计算器开源了,3 万 Star 背后藏着什么
  • CocoaHTTPServer:为Apple生态系统构建的嵌入式HTTP服务器框架
  • 快慢指针巧解链表环检测(多解)
  • 2026燕麦奶口碑排行:营养师推荐清单来了
  • 红日靶场二:WebLogic CVE-2019-2725 到域控沦陷全流程
  • 桑坦德银行向全体员工开放AI工具,首季创造3500万欧元价值
  • 别再问 AMD 显卡能不能跑 AI,SGLang 加 TileLang 组合拳给你答案
  • 中小企业怎么做GEO优化?AI时代低成本长效获客指南
  • HIP 算子兼容性排查,AMD 显卡微调中那些奇怪的报错与解法
  • MateClaw v1.6.0 发布:补齐企业 Agent 工程能力,多方面升级助力生产环境
  • 多派生与多继承演示职读类StuTeech
  • AVR单片机内部温度传感器校准指南:从原理到单点/两点校准实践
  • Windows下载教程 Windows 10 保姆级安装步骤(附镜像文件)系统重装图文详解
  • GLM-5.2 vs GPT-5.5 成本实算:每天 1 万/10 万/100 万次请求的账单差距(2026)
  • 掉发和白发同时出现?高仕星维生素b的双重营养方案
  • 零代码组态开发实操:串口屏项目从数月迭代压缩至数天
  • ATtiny20 8位MCU超低功耗设计实战:从架构解析到物联网终端应用
  • 2026实战:用Gemini镜像站解决Spring Boot微服务性能瓶颈与故障排查
  • AT21CSMK100单线EEPROM开发指南:从1-Wire协议到嵌入式存储实战
  • 挖掘 Github 宝藏,盘点那些好用的 ROCm 开源项目
  • 简单好用,一键搜索全网资源!
  • windows经典漏洞之永恒之蓝
  • 专业的跨境电商合规方案哪个好
  • 基于ATA8510-EK1的Sub-GHz无线传感器网络快速开发实践
  • 1.4 面试:Function Calling(函数调用)
  • ATA5279天线驱动芯片Boost转换器与电流调节环路设计实战指南
  • LLaMA-Factory 原生支持 ROCm 是真的香,配合 HIPify 几分钟完成环境验证
  • Origin 2025 下载Origin2025安装教程——科学绘图与数据分析入门
  • Microchip嵌入式开发资源全攻略:从数据手册到社区支持的高效导航