问题及代码:
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:徐健
*完成日期:2015年5月14日
*版本号:v1.0
*
*问题描述: 理解运算符重载的意义
*输入描述: 无
*程序输出: 运算符重载后的运算结果
*/
#include<iostream>
using namespace std;
class Wages
{
double base;
double bonus;
double tax;
public :
Wages (double CBase,double CBonus,double CTax):
base(CBase),bonus(CBonus),tax(CTax){}
double getPay()const;
Wages operator +(Wages w)const;
};
double Wages::getPay()const
{
return base+bonus-tax;
}
Wages Wages::operator+(Wages w)const
{
return Wages(base+w.base,bonus+w.bonus,tax+w.tax);
}
int main()
{
Wages w1(2000,500,100),w2(5000,1000,300);
cout<<(w1+w2).getPay()<<endl;
return 0;
}
运算结果:
知识点总结:
项目用到了类的运算符重载,并且是以成员函数的形式来实现的,因为是成员函数的运算符重载,所以程序中的运算符重载为双目运算符,双目运算符是指运算所需变量(或操作数)为两个的运算符,如+、-、/、*、%、<、>等等。单目运算符有!、~、++、--等。
学习心得:
在学习课程知识的同时,也需要将在学习时所涉猎到的课外知识了解,从而使自己的知识更加完善。