单目运算符只有一个操作数,如!a,-b,&c,*p,还有最常用的++i和--i等。重载单目运算符的方法与重载双目运算符的方法是类似的。但由于单目运算符只有一个操作数,因此运算符重载函数只有一个参数,如果运算符重载函数作为成员函数,则还可省略此参数。
注意:本题的要求是对Time类使用运算符++,时钟的特点是60秒为1分,当秒数自加到60时,就应使秒数为0,分数加1。
编写程序:
运行结果:
程序分析:
可以看到,在程序中对运算符"++"进行了重载,使它能用于Time类对象。细心的读者可能会提出一个问题:"++"和"--"运算符有两种使用方式,前置自增运算符和后置自增运算符,它们的作用是不一样的,在重载时怎样区别这二者呢?
针对"++"和"--"这一特点,C++约定:在自增(自减)运算符重载函数中,增加一个int型形参,就是后置自增(自减)运算符函数。