第八周——阅读程序-运算符重载
来源:互联网 发布:大学生it就业培训班 编辑:程序博客网 时间:2024/06/06 09:28
这几个小程序有助于我们更好的理解运算符重载,自己先写出运算结果,再看看编译的结果。
(1)
#include <iostream>using namespace std;class Sample{private: int x;public: Sample () { } Sample(int a){x=a;} void disp(){cout<<"x="<<x<<endl;} friend Sample operator+( Sample &s1, Sample &s2);};Sample operator+( Sample &s1, Sample &s2){ return Sample(s1.x+s2.x);} int main(){ Sample obj1(10); Sample obj2(20); Sample obj3; obj3=obj1+obj2; obj3.disp(); return 0;}
(2)
#include <iostream>using namespace std;class Sample{private: int x;public: Sample() {} Sample (int a){x=a;} void disp(){cout<<"x="<<x<<endl;} Sample operator+(Sample &s);};Sample Sample:: operator+( Sample &s){ return Sample(x+s.x);}int main(){ Sample obj1(20); Sample obj2(20); Sample obj3; obj3=obj1+obj2; obj3.disp(); return 0;}
(3)
#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 wl(2000,500,100),w2(5000,1000,300); cout<<(wl+w2).getPay()<<endl; return 0;}
(4)
#include<iostream>using namespace std;class Pair{ int m; int n;public: Pair(int i, int j):m(i),n(j) {} bool operator >(Pair p) const; };bool Pair::operator>(Pair p)const{ if (m!=p.m) return m>p.m; return n>p.n;}int main(){ Pair p1(3,4),p2(4,3), p3(4,5); cout<<(p1>p2)<<(p2>p1)<<(p2>p3)<<(p3>p2); return 0;}
学习心得:从这些的小程序中,体会运载符的用法。继续加油!
0 0
- 第八周——阅读程序-运算符重载
- 第八周 程序阅读-运算符重载
- 第八周——重载运算符——阅读程序
- 第八周-运算符重载-课后实践·阅读程序
- 第八周阅读程序2:运算符重载-成员函数
- 第八周阅读程序4:运算符重载
- 第八周项目零(1):阅读程序:运算符重载
- 第八周项目零(2):阅读程序:运算符重载
- 第八周项目零(3):阅读程序:运算符重载
- 第八周项目零(4):阅读程序:运算符重载
- 第八周阅读程序1:运算符重载-友元函数
- 第八周阅读程序3:运算符重载-const的运用
- 第十二周 运算符重载阅读程序
- 第八周——运算符的重载
- 第八周项目一——运算符重载
- 第八周——分数类中的运算符重载
- 第八周—1.1实现复数中的运算符重载
- 第八周—1.3实现复数中的运算符重载
- Unity & Cocos2D-x之间的战火硝烟
- Delphi中Messagedlg的用法与汉化
- 第8周项目2-Time类中的运算符重载
- 有时候问题就是这么简单
- C++ string操作
- 第八周——阅读程序-运算符重载
- 挑战程序设计竞赛2.3.3 有关计数问题的DP 多重集组合数
- 16.精灵进阶之节点命名
- 软件架构-接口的使用
- 热备份路由选择协议(HSRP)
- SQL Server 2008管理工具出现 远程过程调用失败0x800706be解决方法
- Linux系统下JDK的安装与配置
- 点击TWebBrowser中的超级链接不在新的IE窗口打开
- 01.the window