sdut 4-1 复数类的运算符重载
4-1 复数类的运算符重载
Time Limit: 1000MS Memory limit: 65536K
题目描写叙述
通过本题目的练习能够掌握成员运算符重载及友元运算符重载
要求定义一个复数类。重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
输入
要求在主函数中创建对象时初始化对象的值。
输出
输出数据共同拥有4行,分别代表a。b的值和它们求和、求差后的值
演示样例输入
无
演示样例输出
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//定义Complex类
{
private:
double real;
double imag; public:
Complex()//默觉得0
{
real=0;
imag=0;
}
Complex(double a,double b)//赋值函数
{
real=a;
imag=b;
} Complex operator+(Complex &c);//声明重载运算符“+”
Complex operator-(Complex &c);//声明重载运算符“-”
friend ostream& operator <<(ostream &,Complex&);//声明运算符“<<”重载为友元函数
}; Complex Complex :: operator+(Complex &c)//定义重载运算符“+”函数
{
Complex d;
d.real=real+c.real;
d.imag=imag+c.imag;
return d;
} Complex Complex :: operator-(Complex &c)//定义重载运算符“-”函数
{
Complex d;
d.real=real-c.real;
d.imag=imag-c.imag;
return d;
} ostream &operator <<(ostream &output,Complex&c)//定义运算符“<<”重载函数
{
output<<c.real;
if(c.imag>=0)output<<"+";
output<<c.imag<<"i";
return output;
} int main()
{
Complex a(3.2,4.5),b(8.9,5.6);
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
Complex c;
c=a+b;//运算符+用于复数运算
cout<<"a+b="<<c<<endl;
c=a-b;//运算符-用于复数运算
cout<<"a-b="<<c<<endl;
return 0;
}
sdut 4-1 复数类的运算符重载的更多相关文章
- YTU 2617: B C++时间类的运算符重载
2617: B C++时间类的运算符重载 时间限制: 1 Sec 内存限制: 128 MB 提交: 284 解决: 108 题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为 ...
- 问题 C: B C++时间类的运算符重载
题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为表示时间的小时(hour).分(minute),秒(second). 重载运算符“+”,使之能用于时间对象的加法运算:重载运算符 ...
- string类中运算符重载实现
C++中预定义的加.减等运算符的操作对象只能是基本的数据类型.如果要在用户自定义的类型对象上应用同样的运算符,就需要通过运算符重载来重新定义其实现,使它能够用于自定义类型执行特定的操作,所以运算符重载 ...
- c++String类的运算符重载---21
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 一,创建测试程序包 测试代码如下: /* Date: 2017-5-4 * Descripti ...
- 问题 B: 矩形类中运算符重载【C++】
题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数.输入坐标的函数,实现矩形加法,以及计算并输出矩形面积的函数.要求使用提示中给出的测试函数并不得改动. 两个矩 ...
- C++习题 复数类--重载运算符2+
Description 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意.例如,c1+ ...
- C++习题 复数类--重载运算符+
Description 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.将运算符函数重载为非成员.非友元的普通函数.编写程序,求两个复数之和. Input ...
- YTU 2441: C++习题 复数类--重载运算符2+
2441: C++习题 复数类--重载运算符2+ 时间限制: 1 Sec 内存限制: 128 MB 提交: 847 解决: 618 题目描述 定义一个复数类Complex,重载运算符"+ ...
- YTU 2440: C++习题 复数类--重载运算符+,-,*,/
2440: C++习题 复数类--重载运算符+,-,*,/ 时间限制: 1 Sec 内存限制: 128 MB 提交: 1189 解决: 774 题目描述 定义一个复数类Complex,重载运算符& ...
随机推荐
- mysql事件【定时器】
一,借鉴[luo奔的蜗牛] 1.创建一张表 create table mytable ( id int auto_increment not null, name ) not null default ...
- jquery腾讯换肤的一些技术实现
//检查cookie if($.cookie("skinID")){ $("#cssSkin").attr("href","/st ...
- Javascript创建对象几种方法解析
Javascript创建对象几种方法解析 Javascript面向对象编程一直是面试中的重点,将自己的理解整理如下,主要参考<Javascript高级程序设计 第三版>,欢迎批评指正. 通 ...
- margin负值应用
我理解的最关键的一点是: 在文档流中,只能是后面的流向前面的,即文档流只能向左或向上流动,不能向下或向右移动.第二个元素的基准线是第一个元素的右边界,第三个元素的基准线是第一.二个元素排好后最右边的边 ...
- Linux命令学习(4):gzip压缩与解压
版权声明:本文为博主原创文章,未经允许不得转载 引子 gzip是Linux系统中最常用也是高效的压缩压缩命令.早期Linux系统中主要使用compress命令压缩,得到后缀为“.Z”的压缩文件,但是后 ...
- PHP读取超大的excel文件数据的方案
场景和痛点 说明 今天因为一个老同学找我,说自己公司的物流业务都是现在用excel处理,按月因为数据量大,一个excel差不多有百万数据,文件有接近100M,打开和搜索就相当的慢 联想到场景:要导入数 ...
- PHPExcel读取表格内容
PHPExcel读取表格 先引入类IOFactory.php require_once '../PHPExcel/IOFactory.php'; $filePath = "test.xlsx ...
- GPIO——端口位设置/清除寄存器BSRR,端口位清除寄存器BRR
端口位设置/复位寄存器BSRR: 注:如果同时设置了BSy和BRy的对应位,BSy位起作用. 位31:16 BRy: 清除端口x的位y (y = 0…15) 这些位只能写入并只能以字(16 ...
- Rim 边缘光
边缘光:计算眼睛和模型顶点法线的点积,结果作为强度,和材质输出:顶点和法线平行时,强度最大,垂直时,强度最小.因此将他取反,即同一方向时,强度最小,垂直时,强度最大. -dot(normalize(v ...
- 在 Sublime Text 直接运行 Javascript 调试控制台
转载自:http://www.jianshu.com/p/43b0726792f7 sublime text javascript Sublime Text是深受喜欢的多语言编辑器,很多开发人员都选择 ...