SDUT-2677 4-1 复数类的运算符重载
来源:互联网 发布:win7未知网络错误 编辑:程序博客网 时间:2024/05/30 22:44
4-1 复数类的运算符重载
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
通过本题目的练习可以掌握成员运算符重载及友元运算符重载
要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
Input
要求在主函数中创建对象时初始化对象的值。
Output
输出数据共有4行,分别代表a,b的值和它们求和、求差后的值
Example Input
无
Example Output
a=3.2+4.5ib=8.9+5.6ia+b=12.1+10.1ia-b=-5.7-1.1i
Hint
Author
黄晶晶
#include <iostream>using namespace std;class Point{public: friend Point operator+(Point&a,Point&b); friend Point operator-(Point&a,Point&b); void show(); Point(double xx=0,double yy=0);private: double x; double y; static int c;};Point::Point(double xx,double yy){ x=xx; y=yy;}void Point::show(){ c++; if(c==1) cout<<"a="<<x<<'+'<<y<<'i'<<endl; else if(c==2) cout<<"b="<<x<<'+'<<y<<'i'<<endl; if(c==3) cout<<"a+b="<<x<<'+'<<y<<'i'<<endl; else if(c==4) cout<<"a-b="<<x<<y<<'i'<<endl;}Point operator+(Point &a,Point &b){ Point t; t.x=a.x+b.x; t.y=a.y+b.y; return t;}Point operator-(Point &a,Point &b){ Point t; t.x=a.x-b.x; t.y=a.y-b.y; return t;}int Point::c=0;int main(){ Point a(3.2,4.5),b(8.9,5.6),c,d; c=a+b; d=a-b; a.show(); b.show(); c.show(); d.show(); return 0;}
函数类型 operator 运算符名称(形参列表)
{
对运算符的重载处理
}
运算符被重载后,原有功能依然保留,并未丧失或者改变
阅读全文
0 0
- SDUT-2677 4-1 复数类的运算符重载
- sdut 4-1 复数类的运算符重载
- SDUT-2677-->复数类的运算符重载
- [2677]4-1 复数类的运算符重载
- SDUTOJ 2677 4-1 复数类的运算符重载
- 2677 4-1 复数类的运算符重载
- 4-1复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- SDUTACM 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- python: 统计 含有指定字符串 的 元素
- NVIDIA Jetson TX1 项目开发二刷机(使用JetPack3.1重装系统)
- SQL语法大全
- 第4章 面向对象高级知识
- Spring AOP的三幅图
- SDUT-2677 4-1 复数类的运算符重载
- 反射与注解
- js面向对象2
- JAVA 垃圾回收分析与实战
- 池化技术(线程池、连接池、内存池等)
- 一步步手动实现热修复(一)-dex文件的生成与加载
- 阿里云Redis (Jedis连接篇)
- github设置添加SSH
- 冈萨雷斯数字图像处理学习4:频率域图像增强1