第八周——重载运算符——阅读程序
来源:互联网 发布:java 各版本新特性 编辑:程序博客网 时间:2024/06/13 10:48
程序一:利用成员函数实现重载运算符
#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;}
程序二:里拥友元函数实现重载运算符
#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;}
程序三:利用重载实现加法两个人的税后工资和
#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;}
程序四:
#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;}//利用重载运算符比较两个数的坐标,拿P1和P2来说,P1的m值与P2的m值不相等,且P1的小于p2的故,返回值是0,以此类推
程序四运行结果:
0 0
- 第八周——阅读程序-运算符重载
- 第八周——重载运算符——阅读程序
- 第八周 程序阅读-运算符重载
- 第八周-运算符重载-课后实践·阅读程序
- 第八周阅读程序2:运算符重载-成员函数
- 第八周阅读程序4:运算符重载
- 第八周——运算符的重载
- 第八周项目一——运算符重载
- 第八周——分数类中的运算符重载
- 第八周—1.1实现复数中的运算符重载
- 第八周—1.3实现复数中的运算符重载
- 第八周—2.Time类中的运算符重载
- 第8周项目1-程序阅读——运算符重载
- C++走向远洋——47(第十二周、运算符重载基础程序、阅读)
- 第八周项目零(1):阅读程序:运算符重载
- 第八周项目零(2):阅读程序:运算符重载
- 第八周项目零(3):阅读程序:运算符重载
- 第八周项目零(4):阅读程序:运算符重载
- 【c语言】一个简单的计算器
- HDU 3152 Obstacle Course
- 【c语言】 运输公司对用户计算运输费用
- 工作日志 4.23
- Box2D基本概念的学习记录
- 第八周——重载运算符——阅读程序
- C语言宏定义##连接符和#符的使用
- linux 协议栈学习 第八节 链路层GRO的处理
- Druid数据库连接池的使用和详解
- 为什么我喜欢android
- Appium_Python_Client的使用
- stack_queue_priority_queue 容器适配器
- 认识与入门 Markdown
- 【c语言】有一个函数: x < 1 --- y = x 1 <= x < 10 --- y = 2 * x - 1 x >= 10 --- y = 3 * x - 11 输