首页 > 编程语言 >2023.4.21编程一小时打卡

2023.4.21编程一小时打卡

时间:2023-04-21 22:22:15浏览次数:47  
标签:21 hour Clock int ++ second 2023.4 打卡 minute

一、问题描述:

 定义时钟类,单目运算符前置++和后置++重载的成员函数:以时钟类的对象为操作数。对于前置单目运算符,重载函数没有参数,对于后置单目运算符,重载函数有一个int型参数。

二、解题思路:

 首先定义一个时钟类作为基类,再定义重载运算符的成员函数,最后在主函数中实现时钟类的对象的前置++和后置++的操作去验证代码的运行。

三、代码实现:

 

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 class Clock
 5 {
 6 public:
 7     Clock(int hour=0,int minute=0,int second=0);
 8     void showTime() const;
 9     Clock& operator++();
10     Clock operator++(int);
11 private:
12     int hour,minute,second;
13 };
14 Clock::Clock(int hour,int minute,int second)
15 {
16     if(0<=hour&&hour<24&&0<=minute&&minute<60&&0<=second&&second<60)
17     {
18         this->hour=hour;
19         this->minute=minute;
20         this->second=second;
21     }
22     else
23         cout<<"Time error!"<<endl;
24 }
25 void Clock::showTime() const
26 {
27     cout<<hour<<":"<<minute<<":"<<second<<endl;
28 }
29 Clock& Clock::operator++()
30 {
31     second++;
32     if(second>=60)
33     {
34         second-=60;
35         minute++;
36         if(minute>=60)
37         {
38             minute-=60;
39             hour=(hour+1)%24;
40         }
41     }
42     return *this;
43 }
44 Clock Clock::operator++(int)
45 {
46     Clock old=*this;
47     ++(*this);
48     return old;
49 }
50 int main()
51 {    
52     Clock myClock(23,59,59);
53     cout<<"First time outputL:";
54     myClock.showTime();
55     cout<<"Show myClock++:";
56     (myClock++).showTime();
57     cout<<"Show++myClock:";
58     (++myClock).showTime();
59     return 0;
60 }

 

标签:21,hour,Clock,int,++,second,2023.4,打卡,minute
From: https://www.cnblogs.com/lixinyao20223933/p/17342043.html

相关文章

  • 2023.4.21每日总结
    今天做了什么:今天完善了对于账单的录入,用于用户修改以及删除部分,之前在创建账单表时,忽略了账单应该绑定用户的问题,今天解决了这个问题。遇到了哪些困难:在各个jsp与Servlet之间传递用户名这个元素时遇到了困难,在使用request.setAttribute()这个方法与request.getAttribute()这两个......
  • 每日总结-23.4.21
    cookie和session在传值中的作用,能够让我们十分方便的对于这些用户名和密码很多地方都需要的变量一直传值的问题,还使用了一些关于css布局的问题,将背景换成自己喜欢的图片,使得整个项目变得更加的好看,还学会了使用<a>进行传值,还有jsp:forward jsp:param这两个的传值和使用Login.jsp......
  • 4.21每日总结
       今天完成了管理员页面(用户)的增删改查,以及一些流程方面的细微调整。   昨天完成了一个左侧导航栏的功能,实现左侧选择功能,右侧显示。   遇见的问题,没法真正意义上的增加用户,人脸库的用户没法简单的实现,还需要调用一个接口。......
  • 2023.4.21 (2)
    1//递增运算符的重载2#include<iostream>3usingnamespacestd;4classMyinteger5{6friendostream&operator<<(ostream&cout,Myinteger&myint);7public:89Myinteger()10{11m_Num=0;12}13......
  • 2021年终回顾 | 我的云原生拥抱之路
    2021即将结束,又到了一年一度的年终盘点时刻,今年该说点啥?回顾这一年,还是从盘点技术说起,聊一聊我的云原生拥抱之路,在云原生之路上我都从哪些方面入手,学到了什么。1、背景之前一直专注于微服务体系架构的研发工作,以Java语言作为我的第一程序语言,并伴随了我很多年。随着2020年8......
  • 2023.4.21每日总结
    web实验1<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd......
  • c++打卡第十一天
    一、问题描述牛顿迭代法求方程根。编写一个函数用来实现牛顿迭代法求方程根。方程为为ax^4+bx*3+cx^2+dx+e=0,系数由系统输入,求x在1附近的一个实根,由主函数输出。x=x0-f(x0)/fd(x0),当x减去x0的绝对值小于等于1e-5即十的负五次方时,程序结束。二、设计思路。①一个简单的函数,......
  • 4月21
    问题:现在要开发一个系统,管理对多种汽车的收费工作。给出下面的一个基类框架classVehicle{protected:stringNO; public:Vehicle(stringn){NO=n;} virtualintfee()=0;//计算应收费用};以Vehicle为基类,构建出Car、Truck和Bus三个类。Car的收费公式为......
  • 打卡第五条
    一、问题描述设计一座圆周率山已知圆周率为:3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930......
  • 2023 4 21
     注意double类型相运算的也要是double类型如上例若把a变量更改为int类型则会导致结果出错 #include<iostream>#include<string>usingnamespacestd;classpeople{protected:intage;stringname;public:people(){}people(inta,stringstr){......