读书人

问几个简单的有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

问几个简单的问题?
#include <iostream>
using namespace std;
class Clock//时钟类声明
{
public://外部接口
Clock(int NewH=0, int NewM=0, int NewS=0);
void ShowTime();
Clock& operator ++(); //前置单目运算符重载
Clock operator ++(int); //后置单目运算符重载
private://私有数据成员
int Hour,Minute,Second;
};

Clock::Clock(int NewH, int NewM, int NewS)//构造函数
{
if(0 <=NewH&&NewH <24&&0 <=NewM&&NewM <60&&0 <=NewS&&NewS <60)
{
Hour=NewH;
Minute=NewM;
Second=NewS;
}
else
cout < < "Time error! " < <endl;
}
void Clock::ShowTime()//显示时间函数
{
cout < <Hour < < ": " < <Minute < < ": " < <Second < <endl;
}
Clock& Clock::operator ++()//前置单目运算符重载函数
{Second++;
if(Second> =60)
{ Second=Second-60;
Minute++;
if(Minute> =60)
{
Minute=Minute-60;
Hour++;
Hour=Hour%24;
}
}
return *this;
}
Clock Clock::operator ++(int)
{//注意形参表中的整型参数
Clock old=*this;
++(*this);
return old;
}
int main()
{
Clock myClock(23,59,59);
cout < < "First time output: ";
myClock.ShowTime();
myClock++;
myClock.ShowTime();
++myClock;
myClock.ShowTime();
}
问题:
1、 Clock& operator ++(); //前置单目运算符重载
返回值引用有什么好处,和不引用有什么区别?
2、return *this;
*this具体表示什么?


[解决办法]
你的问题都是c/c++中关键问题,比较难以理解,你还说是简单问题 我顶

读书人网 >C++

热点推荐