C++设计一个电子时钟类,包含年月日,时分秒等属性,由时间类和日期类组合而成,实现并测试这个类。正确显示,年/月/日,时:分:秒。
2条回答 默认 最新
- CSDN专家-link 2021-06-26 14:07关注
时间要自动跑么?
class Time //时间类 { private: int nHour; //小时 int nMin; //分钟 int nSec; //秒 public: Time() {nHour = 0;nMin = 0;nSec = 0;} //默认无参构造函数,将属性都初始化为0 Time(int h,int m,int s) {nHour = h;nMin = m;nSec = s;} //带参构造函数,在定义类对象时可以直接赋予初始值 void SetTime(int h,int m,int s) {nHour = h;nMin = m;nSec = s;} //设置时间,可随时修改类属性值 void print() {cout<<nHour<<":"<<nMin<<":"<<nSec;} //打印函数,按照 时:分:秒 格式输出 }; class Date //日期类 { private: int nYear; //年份 int nMonth; //月份 int nDay; //日期 public: Date() {nYear = 0;nMonth = 0;nDay = 0;} //默认无参构造函数 Date(int y,int m,int d) {nYear = y;nMonth = m;nDay = d;} //带参构造函数 void SetDate(int y,int m,int d) {nYear = y;nMonth = m;nDay = d;} //设置日期 void print() {cout<<nYear<<"/"<<nMonth<<"/"<<nDay;} //按照 年/月/日 格式输出日期 }; class Clock //时钟类 { private: Date date; //日期对象 Time time; //时间对象 public: Clock() {} //默认无参构造函数 Clock(int year,int month,int day,int hour,int min,int sec) //带参构造函数 { date.SetDate(year,month,day); //分别将参数传递给成员类对象 time.SetTime(hour,min,sec); } void SetDateTime(int year,int month,int day,int hour,int min,int sec) //设置日期时间函数 { date.SetDate(year,month,day); time.SetTime(hour,min,sec); } void print() //打印日期时间 { date.print(); cout<<" "; time.print(); cout<<endl; } }; int main() { Clock clock; //创建一个时钟类对象 SYSTEMTIME st; GetLocalTime(&st); //获取操作系统中的当前时间 clock.SetDateTime(st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wSecond); //将当前时间传递给时钟类对象 clock.print(); //显示当前的日期时间信息 return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥500 高有偿提问!求优化设计微信小程序
- ¥15 matlab在安装时报错 无法找到入口 无法定位程序输入点
- ¥15 收益高的广告联盟有哪些
- ¥15 Android Studio webview 的使用问题, 播放器横屏全屏
- ¥15 删掉jdk后重新下载,Java web所需要的eclipse无法使用
- ¥15 uniapp正式环境中通过webapi将本地数据推送到设备出现的跨域问题
- ¥15 xui建立节点,显示错误
- ¥15 关于#单片机#的问题:开始、复位、十进制的功能可以实现,但是切换八进制的功能无法实现(按下按键也没有效果),把初始状态调成八进制,也是八进制可以实现但是切换到十进制不行(相关搜索:汇编语言|计数器)
- ¥15 VINS-Mono或Fusion中feature_manager中estimated_depth是特征的深度还是逆深度?
- ¥15 谷歌浏览器如何备份抖音网页数据