运算符重载

本文详细介绍了C++中Clock类的实现,包括构造函数、自增运算符、重载运算符的使用以及如何显示时间。
#include<iostream> using namespace std; class Clock{ int hour,minute,second; public: Clock(int hour=0,int minute=0,int second=0) ; void showtime()const; Clock& operator++(); Clock operator++(int); }; Clock::Clock(int hour,int minute,int second) 切记带默认形参的构造函数,声明时带参数,但定义时不需要带参数,,, { if(0<=hour&&hour<24&&0<=minute&&minute<60&&0<=second&&second<60) { this->hour=hour; this->minute=minute; this->second=second; } else cout<<"Time error!"<<endl; } Clock &Clock::operator++()返回值为当前对象的引用。 { second++; if(second>=60) { second-=60; minute++; if(minute>=60) {minute-=60; hour++; hour%=24; } } return *this; } Clock Clock::operator++(int)返回值不是当前对象的引用。 { Clock old=*this; ++(*this); return old; } void Clock::showtime() const { cout<<this->hour<<":"<<this->minute<<":"<<this->second<<endl; } int main() { Clock c1(23,59,59); c1.showtime(); (c1++).showtime(); (++c1).showtime(); //system("pause"); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值