4-1 复数类的运算符重载
4-1 复数类的运算符重载
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
#include <iostream>
using namespace std;
class Complex
{
double real;
double imag;
public:
Complex(double r=0,double i=0):real(r),imag(i){};
void Display();
Complex operator +(Complex &);
Complex operator -(Complex &);
friend ostream& operator <<(ostream &,Complex &);
};
ostream & operator <<(ostream & OUT,Complex &C)
{
OUT<<C.real;
if(C.imag<0)
OUT<<C.imag<<"i"<<endl;
else if(C.imag>0)
OUT<<"+"<<C.imag<<"i"<<endl;
else
OUT<<"0i"<<endl;
return OUT;
}
Complex Complex::operator +(Complex &C)
{
return Complex(real+C.real,imag+C.imag);
}
Complex Complex::operator -(Complex &C)
{
return Complex(real-C.real,imag-C.imag);
}
int main()
{
Complex a(3.2,4.5),b(8.9,5.6),c,d;
cout<<"a=";
cout<<a;
cout<<"b=";
cout<<b;
c=a+b;
cout<<"a+b=";
cout<<c;
d=a-b;
cout<<"a-b=";
cout<<d;
return 0;
}
转载于:https://www.cnblogs.com/CCCrunner/p/6444589.html
4-1 复数类的运算符重载相关推荐
- 定义一个复数类Complex,重载运算符+
定义一个复数类Complex,重载运算符"+".使之能用于复数的加法运算,将运算符函数重载为非成员.非友员的普通函数.编写程序求2个复数之和. #include<iostre ...
- 定义一个复数类Complex,重载运算符“+”,
定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算符可以都是类对象.也可以其中一个是整数,顺序任意.例如:c1+c2,i+c1,c1+i ...
- 定义复数类Complex,重载运算符“+”,使之用于复数的加法运算
定义复数类Complex,重载运算符"+",使之用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数. C++代码实现: #include<iostream> ...
- 定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。
定义一个复数类Complex,重载运算符"+"," -","*","/"使之能用于计算两个复数的加减乘除.运算符重载函数 ...
- [YTU]_2617(B C++时间类的运算符重载)
题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+",使之能用于时间对象的 ...
- [YTU]_2617( B C++时间类的运算符重载)
C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+",使之能用于时间对象的加法运算: ...
- C++时间类的运算符重载
Description C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符"+", ...
- Complex类与运算符重载
Complex Class Operator Overloading: 写在开篇:分文件编写的实现运算符的重载,以经典的Complex类为模板,如题~ 正文开始@Assassin 目录: Comple ...
- C++模板类的运算符重载
问题背景: 最近在写数据结构的上机作业时,遇到了模板类的运算符重载,修改了很多次都是在编译时报错.对比网上的许多文章,终于改对了,于是写一篇文章记录一下. 问题描述 数据结构上机作业,要求将数据结构中 ...
最新文章
- Leangoo看板协作工具与Trello还真的不一样
- python因数之和等于数字本身_python找出因数与质因数的方法
- linux 日志主服务器 syslog
- goland 关闭 自动移除未使用的包 自动添加需要的包
- pythonlist基本操作_Python list 常用操作
- java 带参数的构造函数_java – mockito模拟一个带参数的构造函数
- 推荐 10 个实用型的热门开源项目,开发效率又能提升了!
- AbstractQueuedSynchronizer源码解析
- Excutor线程池
- iPhone X 刘海打理指北
- C++学习札记(1)
- Python 3.6新特性(部分)
- 零基础带你学习MySQL—流程控制函数(十七)
- STL的基本函数笔记
- HTML如何设置音频播放器控件的大小
- MySQL 递归查询 当前节点及子节点
- codewars033: Duplicate Encoder 重复编码器
- matlab计算概率分布,Matlab中的离散概率分布计算
- 中南大学保研去华科计算机,巨无霸学校保研清北比率,武大山大中大华科川大吉大大工中南。...
- java 小数位数控制
热门文章
- 8086内存分段理解
- Mac上运行第一个Hadoop实例
- golang中的strings.TrimSpace
- 为啥channel能做到线程安全
- 实战测试SO_REUSEADDR选项
- 已解决:Job for docker.service failed because the control process exited with error code. See “systemctl
- shell实例第22讲:shell中分隔符IFS用法
- 数据结构:选择排序(Selection sort)
- requireJS文件夹
- 【微职位公开课】老学长自述:如何成为年薪50W的技术工程师