将单目运算符“++”重载为成员函数形式
2014-06-13 00:00
369 查看
对于前置单目运算符,重载函数没有形参,对于后置单目运算符,重载函数有一个int型形参。这个int型参数在函数体中并不使用,纯粹是用来区别前置与后置,因此参数表中可以只给出类型名,没有参数名。
程序运行结果为:
#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(); cout<<"Show myClock++: "; myClock++; myClock.ShowTime(); cout<<"Show ++myClock: "; (++myClock).ShowTime(); return 0; }
程序运行结果为:
相关文章推荐
- 将单目运算符“++”重载为成员函数形式
- 单目运算符“++”重载为成员函数形式
- 复数类加减法运算重载---成员函数形式
- 复数类加减法运算重载---成员函数形式
- C++运算符重载三种形式(成员函数,友元函数,普通函数)详解
- 单目运算符重载为成员函数 前++ 和后++的使用
- 成员函数的重载、覆盖与隐藏
- 类成员函数的重载、覆盖和隐藏区别
- 类的const和非const成员函数的重载
- 高质量C++成员函数的重载、覆盖与隐藏
- C++成员函数的重载、覆盖与隐藏
- C++中成员函数的重载、覆盖与隐藏
- 成员函数的重载、覆盖与隐藏
- 第八章 C++函数的高级特性(8.2 成员函数的重载、覆盖与隐藏)
- 成员函数的重载、覆盖与隐藏
- C++中成员函数的重载、覆盖与隐藏
- 重载成员函数使CAsyncSocket类支持IPX/SPX协议
- 成员函数重载解析
- [zz]成员函数的重载、覆盖与隐藏
- C++成员函数的重载、覆盖与隐藏