博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象程序程序设计上机练习十(运算符重载)
阅读量:4590 次
发布时间:2019-06-09

本文共 1295 字,大约阅读时间需要 4 分钟。

题目描述

定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意。例如:c1+c2、i+c1、c1+i均合法。(其中i是整数,c1、c2是复数),编程实现求2个复数之和、整数与复数之和。

输入

输入有三行:第1行是第1个复数c1的实部和虚部,以空格分开。第2行是第2个复数c2的实部和虚部,以空格分开。第3行是1个整数i的值。

输出

输出有三行:
第1行是2个复数c1和c2的和,显示方式:实部+虚部i
第2行是第1个复数c1加i的值,显示方式:实部+虚部i
 
第3行是i加第1个复数c1的值,显示方式:实部+虚部i

示例输入

2 33 510

示例输出

5+8i12+3i12+3i 示例程序
#include 
using namespace std;class Complex{public: Complex operator+(Complex &c2); Complex operator+(int a); friend Complex operator+(int a,Complex &); void show() { cout<
<<"+"<
<<"i"<
>real>>image; }private: int real; int image;};Complex Complex :: operator+(Complex &c2){ Complex c; c.real=real+c2.real; c.image=image+c2.image; return(c);}Complex Complex::operator+(int a){ Complex c; c.real=a+real; c.image=image; return(c);} Complex operator+(int a,Complex &c1){ Complex c; c.real=c1.real+a; c.image=c1.image; return(c);}int main(){ Complex a; a.setdata(); Complex b; b.setdata(); int da; cin>>da; Complex c; c=a+b; c.show(); Complex d; d=a+da; d.show(); Complex e; e=operator+(da,a); e.show(); return 0;}

转载于:https://www.cnblogs.com/Misty5/articles/4049040.html

你可能感兴趣的文章
【Linux】Centos下安装ffmpeg
查看>>
VSCode使用随笔
查看>>
MySQL 常用命令
查看>>
nginx FastCGI配置 No input file specified
查看>>
iOS - 拓展
查看>>
Windows命令远程执行工具Winexe
查看>>
XamarinAndroid组件教程RecylerView动画组件使用动画(3)
查看>>
linux vim 配置 go 开发环境
查看>>
week 6 CORS
查看>>
Openstack Neutron:二层技术和实现
查看>>
组合设计模式
查看>>
第十五部分_Struts2.1拦截器深度剖析、异常处理
查看>>
[codevs1286]郁闷的出纳员
查看>>
Python匿名函数详解
查看>>
python面向对象(六)之元类
查看>>
quartz.net插件类库封装(含源码)
查看>>
package.json中 npm依赖包版本前的符号的意义
查看>>
Cygwin下获取Android源代码
查看>>
C 自删除技术---批处理方式
查看>>
maven学习(下)利用Profile构建不同环境的部署包
查看>>