C++中的运算符重载(源码分享)
//C++中的运算符重载——“+”“-”“++”“--”:
//(本源码为《面向对象C++程序设计(皮德常编著)(清华大学出版社)》165页第一题参考答案)
#ifndef NUMDAYS_H
#define NUMDAYS_H
/*
name:Target_MIT
NUAA
*/
class NumDays//将小时为单位的工作时间转化为天数
{
private:
float hours;
float day;
public:
NumDays(float ho)
{
hours=ho;
day=hours/8;
}
NumDays()
{hours=day=0;
}
void PUT()
{cout<<"hours="<<hours<<endl;
cout<<"day="<<day<<endl;
}
NumDays operator+(const NumDays &right);
NumDays operator-(const NumDays &right);
NumDays operator++();
NumDays operator++(int);
NumDays operator--();
NumDays operator--(int);
};
#endif
NumDays NumDays::operator+(const NumDays &right)
{
NumDays Temp;
Temp=hours+right.hours;
Temp.day=Temp.hours/8;
return Temp;
}
NumDays NumDays::operator-(const NumDays &right)
{
NumDays Temp;
Temp=hours-right.hours;
Temp.day=Temp.hours/8;
return Temp;
}
NumDays NumDays::operator++()
{
++hours;
day=hours/8;
return *this;
}
NumDays NumDays::operator++(int)
{
NumDays Temp(hours);
cout<<"Temp:_";Temp.PUT();
hours++;
return Temp;
}
NumDays NumDays::operator--()
{
--hours;
day=hours/8;
return *this;
}
NumDays NumDays::operator--(int)
{
NumDays Temp(hours);
cout<<"Temp:_";Temp.PUT();
hours--;
return Temp;
}
- C++源码分享(一):浮点数比较类
- C++源码分享(二):区间泛型类
- C++源码分享(三):层次结构泛型基类
- 分享一个C++源码(有助于MFC学习)
- C++源码分享(四):对象属性泛型基类
- [源码和文档分享]基于C++实现的操作系统二级文件系统设计
- C++从初级到高级全套 教程 视频 源码,好不容易找到的,分享给大家
- C++实现类QQ空间图片查看器(源码分享) 推荐
- C++源码分享(五):观察者模式泛型实现
- C++源码分享(六):许可者模式泛型实现
- 【源码分享】-c++界面源代码分享
- CCF交通规划C++版源码分享(201612-4)
- [源码和文档分享]基于C++实现的每对结点之间的最短路径(Floyd-Warshall算法)
- [源码和文档分享]基于C++与QML的图书管理系统
- C++ mfc版本socket通讯源码分享
- 一个C++游戏框架开源项目部分源码(仅供分享)
- 【源码分享】-c++界面源代码分享
- 50个国内外最棒的C/C++源码站点分享
- [源码和文档分享]基于C++实现的大整数计算
- C/C++内存操作经典源码(仅供分享)