将单目运算符“++”重载为成员函数形式
来源:互联网 发布:三国志10全武将数据 编辑:程序博客网 时间:2024/05/17 19:23
对于前置单目运算符,重载函数没有形参,对于后置单目运算符,重载函数有一个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;}
程序运行结果为:
- 将单目运算符“++”重载为成员函数形式
- 单目运算符“++”重载为成员函数形式
- 以成员函数形式 重载运算符
- 成员函数形式重载运算符 []
- 运算符重载(重载为成员函数)
- 运算符重载为成员函数
- 运算符重载为成员函数
- 【Linux基础】运算符重载为类的成员函数
- 多态性:运算符重载为类的成员函数
- c++中运算符重载为类成员函数
- 四十六、多态性:运算符重载为类的成员函数
- C++输出运算重载为成员函数
- 运算符重载 成员函数
- 复数类加减法运算重载---成员函数形式
- C++运算符重载形式——成员函数or友元函数
- C++运算符重载形式——成员函数or友元函数
- 运算符重载的方式 双目运算符重载为类的成员函数
- 流运算符为什么不能重载为成员函数,只能用友元函数重载
- asp.net mvc 实例
- 优秀用户故事的准则
- DirectFB中的一些结构(Screen,Window, Layer, Surface)及其之间的关系
- Normalize
- 最简单的 iBatis 入门例子
- 将单目运算符“++”重载为成员函数形式
- jquery中根据传入的checkbox的name获得所有checkbox选取的的值
- centeros 安装配置svn
- mysql触发程序(触发器)
- SQL Server数据导入导出工具BCP详解
- struts2的s:iterator标签中的status
- const
- MySQL的replication热备配置过程
- bcp 错误导入问题解决 .