4-1 复数类的运算符重载
来源:互联网 发布:mysql可以安装在d盘吗 编辑:程序博客网 时间:2024/05/29 07:44
4-1 复数类的运算符重载
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
通过本题目的练习可以掌握成员运算符重载及友元运算符重载
要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
Input
要求在主函数中创建对象时初始化对象的值。
Output
输出数据共有4行,分别代表a,b的值和它们求和、求差后的值
Example Input
无
Example Output
a=3.2+4.5i
b=8.9+5.6i
a+b=12.1+10.1i
a-b=-5.7-1.1i
Hint
Author
黄晶晶
#include<iostream>#include<bits/stdc++.h>using namespace std;class dix{ private:double s,x; public: dix(double a = 0,double b = 0){s = a;x = b;}//构造函数 dix operator + (dix &b); dix operator - (dix &b); friend ostream &operator <<(ostream &o,dix a) { o<<a.s; if(a.x > 0)o<<"+"<<a.x<<"i"; else o<<a.x<<"i"; return o;//注意是return o,不是0!!!,必须要有return,否则会runtime error }};dix dix::operator+(dix &b){ dix c; c.s = s + b.s; c.x = x + b.x; return c;}dix dix::operator-(dix &b){ dix c; c.s = s - b.s; c.x = x - b.x; return c;}int main(){ dix a(3.2,4.5); dix b(8.9,5.6); cout <<"a="<<a<<endl; cout <<"b="<<b<<endl; cout <<"a+b="<<a+b<<endl; cout <<"a-b="<<a-b<<endl; return 0;}
阅读全文
0 0
- 4-1复数类的运算符重载
- [2677]4-1 复数类的运算符重载
- SDUTOJ 2677 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- sdut 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- SDUTACM 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 4-1 复数类的运算符重载
- 获取豆瓣电影评分并保存到本地 遇到3个错误
- md5工具类以及注释
- Android原子操作的实现原理
- 算法提高 打水问题
- 1.CSS和文档
- 4-1 复数类的运算符重载
- 学习shell脚本之前的基础知识
- 从Python的exec()聊起
- 架构师的必备素质和成长途径
- Promise对象
- dedecms里面session不起作用
- 计算机网络的一些常用知识
- Android常用工具库
- 谈一谈几种处理JavaScript异步操作的办法