c++运算符的重载习题答案

c++运算符的重载习题答案
c++运算符的重载习题答案

实验8--友元函数与运算符重载函数

实验十三 1.实验目的 通过本次实验 (1)理解友元函数与运算符重载函数的概念; (2)学会友元函数的定义与使用方法; (3)掌握运算符重载函数的定义与使用方法; 2.实验要求 (1)编写实验程序 (2)在VC++运行环境中,输入源程序 (3)编译运行源程序 (4)输入测试数据进行程序测试; (5)写出运行结果。 3.实验内容 (1)定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。 参考资料: (1)成员函数 # include class Complex { private: float Real,Image; public: Complex(float r=0,float i=0) { Real=r;Image=i;} void Show(int i) { cout<<"c"< class Complex { private: float Real,Image; public: Complex(float r=0,float i=0) { Real=r;Image=i;} void Show(int i) { cout<<"c"<

实验五 运算符重载

实验五运算符重载 【实验目的】 1.进一步了解运算符重载的概念和使用方法。 2.掌握几种常用的运算符重载的方法。 3.了解转换构造函数的使用方法。 4.了解在Visual C++6.0环境下进行运算符重载要注意的问题. 【实验要求】 1.硬件基本配置:Intel PentiumIII以上级别的CPU,大于64MB的内存。 2.软件要求:Window 2000操作系统,Visual Studio 6.0或更高版本开发环境。 3.实验学时:2学时 4.实现实验内容中的题目。 5.写实验报告 【实验内容】 (1)声明一个复数类Complex,重载运算符“+’’,“一”,“*”,“/”使之能用于复数的加、减、乘、除.运算符重载函数作为Complex类的成员函数,重载流提取运算符实现对复数的输出。编程序,分别求两个复数之和、差、积和商并用重载后的流运算符进行输出。 请思考:你编的程序能否用于一个整数与一个复数的算术运算?如4+ (5-2i). (2)声明一个复数类Complex,重载运算符“+“,使之能用于复数的加法运算。 参加运算的两个运算量可以都是类对象.也可以其中有一个是整数,顺序任意。例如, cl+c2, i+cl,cl+i均合法(设i为整数,c1, c2为复数)。 运行程序.分别求两个复数之和、整数和复数之和。 (3)有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加。如c=a+b。重载流提取运算符实现对矩阵的输出如:cout<

实验十_运算符重载

实验十运算符重载1.实验目的及要求 1)掌握运算符重载的基本概念和方法。 2)熟习几种特殊的运算符的重载。 2.实验内容 1.分析下面的程序,指出程序运行的结果: 1) #include class point{ int x,y; public: point(int vx,int vy){ x=vx; y=vy;} point(){x=0,y=0;} point operator+(point p1) { int px=x+p1.x; int py=y+p1.y; return point(px,py); } point operator-(point p1) { point p; int px=x-p1.x; int py=y-p1.y; return point(px,py); } void print(){cout<

运行结果为: 30,30 Press any key to continue 2)分析下面程序,指出程序运行的结果: #include static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31}; class date { int mo,da,yr; public: date(int m,int d,int y){mo=m;da=d;yr=y;} date(){} void disp() {cout<dys[dt.mo-1]) {day-=dys[dt.mo-1];//cout<

实验5-运算符重载、继承 ( 1 )

实验五运算符重载、继承 ●实验目的 1、了解类的两种使用方式。 2、学习从现有类派生出新类的方式。 3、了解在派生类中如何使用基类的成员。 4、了解基类成员在派生类中的访问控制。 5、掌握运算符重载的方法。 ●实验内容 1、从类Person中派生出一个教师类,新增的属性有专业(Specialty)、职称(Position)和主讲课程(MajorCourse,一门),并为这些属性定义相应的方法。 [实现要求] Person类的设计如下,请将空白处补充完整。 class Person { string Name; int Age; string Sex; public: void Register(char *name,int age,char *sex) { ; Age=age; Sex=sex; } string GetName() { } string GetSex() { return Sex; } int GetAge() { } void ShowMe() { cout<

//带参数的构造函数去初始化各个成员的值,使其显示运行结果的第一行t.TeacherRegister("张三",40, "f","计算机","副教授","C++"); t.ShowMe(); return 0; } 运行结果如下: XXX m 0 XXX XXX XXX 张三 f 40 计算机副教授C++ [思考问题] ①在Teacher类中是否要需要重新定义ShowMe成员函数?不重新定义ShowMe成员函数能否得到上述要求的运行结果?为什么? 2、从Point类中派生出一个Line类。Line类增加一个数据成员EndPoint,计算线的长度。 [实现提示] Point类可以按下面方式进行设计: class Point{ int x,y; public: Point(int a=0,int b=0){SetPoint(a,b);} void SetPoint(int a,int b); //设置点的坐标值 int GetX(){return x;} int GetY(){return y;} void Print(); //显示点的坐标值 }; Line类增加一个数据成员EndPoint为Point类对象,注意在设计Line类的构造函数时应为其基类和对象成员EndPoint提供形参。 为了检验Line类的功能,主函数按如下方式设计: int main(){ Line line(1,1,10,10); cout<<"Line line:"; line.Print(); cout<<"\n线line的长度:"; cout<

实验十六运算符重载解读

实验十六运算符重载 一、实验目的 1、理解运算符重载作用和意义; 2、掌握类运算符和友元运算符重载的定义和使用; 3、掌握常用运算符(++、--、+、-、*、/、=、+=、-=、*=、/=、<<(插入)、>>(提取))的重载。 二、实验内容 1、下列程序定义了一个复数类,重载"+"运算符以实现复数的加法运算。 #include class Complex{ float Real,Image; //复数的实部和虚部 public: Complex(float r=0,float i=0) //初始化对象 { Real=r,Image=i; } float& AccessR() //存取实部 { return Real; } float& AccessI() //存取虚部 { return Image; } void Show() //显示复数 { cout<=0) cout<<"\t+"; else cout<<"\t"; cout<

实验5 运算符重载

实验5 运算符重载 1.实验目的 通过本次实验 (1)理解运算符重载函数的概念; (2)掌握运算符重载函数的定义与使用方法; 2.实验要求 (1)编写实验程序 (2)在运行环境中,输入源程序 (3)编译运行源程序 (4)输入测试数据进行程序测试; (5)写出运行结果。 3.实验内容 (1)定义一个复数类,重载“-=”运算符,使这个运算符能直接完成复数的“-=”运算。分别用成员函数与友元函数编写运算符重载函数。在主函数中定义复数对象c1(10,20)、c2(15,30),进行c2-=c1的复数运算,并输出c1、c2的复数值。 (2)定义一个数组类Array,其私有数据成员为整型一维数组a[10]。通过构造函数给a[10]赋初值。用Show函数显示a[10]的元素值。用成员函数重载运算符“+”,直接实现两个一维数组对应元素相加的运算。在主函数中定义数组a、b分别为: int a[10]={1,2,3,4,5,6,7,8,9,10}; int b[10]={4,5,6,7,8,9,10,11,12,13}; 用Array定义三个数组对象arr1(a)、arr2(b)、arr3,执行arr3=arr1+arr2运算,输出arr3的数组元素值。 (3)定义一个人民币类Money,类中数据成员为元、角、分。用成员函数与友元函数重载“――”运算符,实现人民币对象的减1运算。在主函数中定义人民币对象m1=10元8角5分及对象m2、m3。对m1作前置“――”并赋给m2。对m1作后置“――”并赋给m3。显示m1、m2、m3的结果。 (4)定义描述字符串的类String,编写字符串运算符“+=”的重载函数,使运算符“+=”用于两个字符串联接操作,即用str1+=str2实现字符串函数strcat(str1,str2)的操作功能。要求分别用成员函数与友元函数编写运算符重载函数。在主函数中定义字符串对象s1("software and ")与s2("hardware"),进行s1+=s2的字符串联接,并输出s1、s2的值。

运算符重载实验

运算符重载的应用 【实验目的】 1、理解重载运算符的意义。 2、掌握用成员函数、友元函数重载运算符的特点。 3、掌握重载运算符函数的调用方法。 【实验内容】 1.定义一个复数类,通过重载运算符:*,/,直接实现二个复数之间的乘除运算。编写 一个完整的程序,测试重载运算符的正确性。要求乘法“*”用友元函数实现重载,除法“/” 用成员函数实现重载。 ⑴分析 两复数相乘的计算公式为:(a+b i)*(c+d i)=(ac–bd )+(ad+bc) i 两复数相除的计算公式为:(a+b i)/(c+d i)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d) i 复数类及运算符重载函数可定义为: 2.根据下面描述定义完整的日期类: class Date{ //成员变量 void IneDay();//日期增加1天 int DayCalc()const;//距基准日期的天数 static const int day[];//每月的天数 public: Date(int y,int m,int d); Date(int m, int d); Date(); void SystmDate();//读取系统当前时间 void SetDate(int yy,int mm,int dd);//设置日期 void SetDate(int mm,int dd); bool IsLeapYear(int yy) const;//是否闰年 bool IsEndofMonth()const ;//是否月末 //重载cout<<,cout>>完成读入和输出日期工作 //重载+,+=,-,-=,++,--,等运算符,完成日期的运算符操作。 //成员函数:判读一个日期是否是系统的当前日期

C++实验六运算符重载

实验六运算符重载 一、实验目的 1.掌握运算符重载的概念; 2.握使用friend重载运算符的方法; 二、实验要求 1.独立完成程序的编辑、编译、调试及运行; 2.对于程序编译及运行中出现的错误,能够进行改正; 三、实验内容 1、重载加、减、乘、除运算符,实现复数类complex的四则运算。 程序分析: 程序中对于复数的四则运算——加,减,乘,除符号进行重载,采用的是成员函数的方法: Complex operator+(const Complex &c) Complex operator-(const Complex &c) Complex operator*(const Complex &c) Complex operator/(const Complex &c) 当c1+c2时,程序将运算符(+)认为是重载的复数加法运算符,因运算符的两个操作数都是复数,被解释为:c1.operator+(c2),其中,c1为第一操作数,作为调用重载运算符成员函数的对象,c2是第二操作数,作为重载运算符函数的实参,c1和c2都是类的Complex的对象。

#include class Complex { public: Complex() {real=imag=0;} Complex(double r) {real=r;imag=0;} Complex(double r,double i) {real=r;imag=i;} Complex operator + (const Complex &c); Complex operator - (const Complex &c); Complex operator * (const Complex &c); Complex operator / (const Complex &c); friend void Print(const Complex &c); private: double real,imag; }; Complex Complex::operator +(const Complex &c) { return Complex(real+c.real,imag+c.imag); } Complex Complex::operator -(const Complex &c) { return Complex(real-c.real,imag-c.imag); } Complex Complex::operator *(const Complex &c) { return Complex(real*c.real-imag*c.imag,real*c.imag+imag*c.real);

实验5 运算符重载和多态性

实验5 运算符重载与多态性 班级学号姓名成绩 一.实验目的 1.掌握用成员函数重载运算符的方法 2.掌握用友元函数重载运算符的方法 3.理解并掌握利用虚函数实现动态多态性和编写通用程序的方法 4.掌握纯虚函数和抽象类的使用 二.实验内容 1.复数类加减法乘除运算(用成员函数定义运算符重载)。 复数类的定义: class complex //复数类声明 { public: //外部接口 complex(double r=0.0,double i=0.0) //构造函数 {real=r,imag=i;} complex operator +(complex c2); //运算符"+"重载成员函数 complex operator - (complex c2); //运算符"-"重载成员函数 complex operator *(complex c2 ); //运算符"*"重载成员函数 complex operator /(complex c2); //运算符"/"重载成员函数 complex operator =(complex c2); //运算符"="重载成员函数 void display(); //输出复数 private: //私有数据成员 double real; //复数实部 double imag; //复数虚部 }; 2.复数类比较运算(用友元函数定义运算重载)。 注意: 1)复数类比较运算按复数的模比较两个复数的大小。 2)复数相等判断当两个复数的实部和虚部都相等,两个复数才相等,否则不相等。 类的定义 class complex //复数类声明 { public: complex(double r=0.0,double i=0.0) {real=r;imag=i;} //构造函数 friend int operator> (complex c1,complex c2); //运算符">"重载友元函数 friend int operator>=(complex c1,complex c2); //运算符">="重载友元函数

运算符重载实验报告

Guangxi University of Science and Technology 实验报告 实验课程: C++程序设计教程 实验内容:运算符重载 院(系): 专业:软件工程方向 班级: 学生姓名: 学号: 指导教师: 2013年 11 月 18日

一.实验目的: (1)掌握运算符重载的概念和应用。 (2)掌握用成员函数、友元函数重载运算符的特点。 (3)理解一些特殊运算符的重载。 二.实验内容 (-)实验题目一: (1)将以下程序更改为友元函数重载的形式并上机运行。 #include class RMB{ //人民币类 public: RMB(double d){ yuan=d; jf=(d-yuan)/100; } RMB interest(double rate); //计算利息 RMB add(RMB d); //人民币加 void display(){ cout <<(yuan + jf / 100.0) << endl; } RMB operator+(RMB d){ return RMB(yuan+d.yuan+(jf+d.jf)/100); } //人民币加的运算符重载 RMB operator*(double rate){ return RMB((yuan+jf/100)*rate);} private: unsigned int yuan; //元 unsigned int jf; //角分 }; RMB RMB::interest(double rate) { return RMB((yuan + jf / 100.0) * rate); } RMB RMB::add(RMB d) { return RMB(yuan + d.yuan + jf / 100.0 + d.jf / 100.0); } //以下是计算应付人民币的两个版本 RMB expense1(RMB principle, double rate) { RMB interest = principle.interest(rate); return principle.add(interest); } RMB expense2(RMB principle, double rate) { RMB interest = principle * rate; //本金乘利息 return principle + interest; //连本带利

实验5 运算符重载

实验5 运算符重载 1、实验目的: 掌握运算符重载的概念及使用方法,掌握特殊运算符的重载要求和方法。 2、实验内容: 定义整数集合类intSet,实现如下功能: (1)定义类的构造函数,并根据需要可以定义多个构造函数。 (2) Clear函数:清空整数集合 (3) IsEmpty():整数集合是否空集; (4) IsMemberOf():判断某个整数是否在整数集合内 (5) Operator+:增加一个整数到整数集合中 (6) Operator-:从整数集合中删除一个整数元素; (7) Operator==:判断两个整数集合是否相等; (8) Operator*:求两个整数结合的交集; (9) Operator+:求两个整数集合的交集; (10)Operator=:整数集合的对象之间的赋值; (11)Operator<<:输出整数集合中的元素。 提示:类intSet可以用数组的方式定义整数集合。例如: int element[200]:保存整数集合数据; int ElementNum: 指示整数集合的最后一个元素位置 注意:一个整数集合中不允许有相同元素存在,二是集合中的元素没有顺序。#include using namespace std; class intSet { public: intSet(); intSet(int a[],int size); void Clear(); bool IsEmpty(); bool IsMemberOf(int a); bool operator+(int a); bool operator-(int a); bool operator==(intSet & set); intSet operator+(intSet &set); intSet operator *(intSet &set); void operator = (intSet &set); friend ostream &operator<<(ostream &,intSet&); protected: int element[100]; int ElementNum; }; //初始化整数集合元素

运算符重载综合实例

运算符重载综合实例 class MyComplex{ double Real;double Imag; public: //构造函数 MyComplex(const double &r=0.0,const double &i=0.0){Real=r;Imag=i;cout<<"Constructor !"<

实验二 运算符重载

实验二运算符重载 一、实验目的 ●理解运算符重载的概念 ●掌握运算符重载方式 ●掌握重载单目运算符、双目运算符 二、实验内容 1、理解运算符重载的概念。 (1)将例题4.1中的Add函数声明为对象方法,重新定义。 #include using namespace std; class Complex { private: double real; double image; public: Complex(double r=0,double i=0):real(r),image(i){} void Show() const; Complex Add(const Complex &z1) { Complex z(this->real+z1.real,this->image+z1.image); return z; } }; void Complex::Show() const { if(image<0) cout<

else if(image==0) cout< using namespace std; class Complex { private: double real; double image; public: Complex(double r=0,double i=0):real(r),image(i){} double GetReal() const { return real; } double GetImage() const

Complex运算符重载实验实验报告

实验名称:Complex类的运算符重载姓名:XX 学号:XXXXXXXXXX 班级XXXXXXXX 完成日期:20XX-X-XX 实验目的:这个实验题目的主要目的是让同学们掌握c++运算符重载的用法 过程描述: 一、本实验中主要内容有创建一个Complex类,这个类需要完成的运算符重 载有: (1)+ :重载+,用来完成两个复数的加法; (2)- :重载-,用来完成两个复数的减法; (3)* :重载*,用来完成两个复数的乘法; (4)<< :重载<<,用来输出一个复数,输出的格式为(a + b*i),其中a为实 部,b为虚部。 二、本实验中 1、首先定义一个名为Complex的类,其友元函数有六个,包括前面提到的 +,-,*,<<的重载,以及附加功能/ 和== 的重载,具体如下: friend ostream& operator<<(ostream &os, const Complex& obj); //输出重载函数 friend Complex operator+(const Complex &c1, const Complex &c2); // +运算符重载 friend Complex operator-(const Complex &c1, const Complex &c2); // -运算符重载 friend Complex operator*(const Complex &c1, const Complex &c2); // *运算符重载 //附加功能 friend Complex operator/(const Complex &c1, const Complex &c2); // /运算符重载 friend bool operator==(const Complex &c1, const Complex &c2); // ==运算符重载 2、其中数据成员有两个,分别为real(表示实部),img(表示虚部)。 例: private: double real; double img; 3、而在public成员中,有一个函数,如下: public: Complex(double r=1, double i=0){real=r,img=i;} }; 4、另外,函数的实现文件如下: Complex operator+(const Complex &c1, const Complex &c2) // + 运算符重载 { Complex tmp; tmp.real = c1.real + c2.real; tmp.img = c1.img + c2.img;

实验10 运算符重载(2) (1)

实验10 运算符重载(2) 一、实验目的 进一步理解运算符重载,运用成员函数和友元函数等方法实现运算符的重载。 二、实验内容 1、用友元函数重载运算符,使对整型的运算符=、+、-、*、/ 适用于分数运算。 2、重载下标运算符使之返回集合中最大的元素、次最大的元素以及第三大的元素。 3、定义一个人民币类RMB,包含私有数据成员元、角、分,请用友元函数重载运算符“+”和“++”,以对类对象进行运算。 4.设计一个日期类Date,,要求: (1)包含年(year)、月(month)和日(day)私有数据成员。 (2)包含构造函数,重载关于一日期加上天数的加法运算符+、重载关于一日期减去天数的减加运算符-、重载输出运算符<<与输入运算符>>等。 提示:由于各C++编译器对于重载输入/出运算符为友元的兼容性都存在问题,最好重载输入/出运算符不声明为成员函数与友元函数,而声明一般函数,为编程更方便,可增加一些成员函数,比如: void SetYear(int y); // 设置年 int SetMonth(int m); // 设置月 int SetDay(int d); // 设置日 int GetYear() const; // 返回年 int GetMonth() const; // 返回月 int GetDay() const; // 返回日 static int IsLeapyear(int y); // 判断年份y是否为润年 static int GetDays(int y); // 年份y的天数 static int GetDays(const Date &d); // 日期d当前月份的天数 static int DateToNum(const Date &d); // 返回从公元1年1月1日起的天数 static Date NumToDate(int n); //由从公元1年1月1日起的天数返回日期 润年条件:年份能被4整除,并且年份不能被100整除,或者年份能被400整除 润年天数:366 平年天数:365 润年2月份天数:29 平年2月份天数:28 5.设计一个时间类Time,要求: (1)包含时(hour)、分(minute)和秒(second)私有数据成员。 (2)包含构造函数,重载关于一时间加上另一时间的加法运算符+、重载关于一时间减去另一时间的减加运算符-、重载输出运算符<<与输入运算符>>等。 提示:可仿照第4题编程实现,可将时间转换成秒数,将秒数转成时间进行辅助编程。 时间转换成秒数: 秒数= 时* 3600 + 分* 60 + 秒

C++实验21 运算符重载

实验21 运算符重载 一、实验目的和要求 1.理解运算符重载的作用。 2.掌握实现运算符重载的方法及几种特殊运算符的重载格式。 3.进一步锻炼针对类的编程能力。 二、实验准备 ?知识点 1.运算符重载定义的一般格式、基本概念。 2.运算符函数重载的两种形式。 3.通过成员函数实现运算符重载的一般格式。 4.通过友元函数实现运算符重载的一般格式。 5.”++”运算符的重载。 6.”=”赋值运算符的重载。 ?课前练习题 1.重载运算”+”,实现a+b运算,则。 A.a必须为对象,b可为整数或实数B.a和b必须为对象 C.b必须为对象,a可为整数或实数D.a和b均可为整数或实数 2.在C++中,运算符的重载有两种实现方法,一种是通过成员函数来实现,另一种则通过_________来实现。 3.不能重载的5个运算符是:______、______、______、______、_________。 4.重载赋值运算符必须通过________函数实现。 5.用成员函数实现前置”--”运算符重载的一般格式为:_______________________________。6.用友元函数实现后置”--”运算符重载的一般格式为:_______________________________。 ?分析 1.有以下程序: #include class C{ private: double x; public: C( ) { x=0.0; } C(double a) { x=a; } friend C operator--(C t) //行A { t.x--; return t; } void show(){cout<

C++实验10运算符重载

实验10 运算符重载 1.实习目的及要求 1)掌握运算符重载的基本概念和方法; 2)熟习几种特殊的运算符的重载 2.预习 预习运算符重载的概念、运算符重载的一般方法,包括成员函数重载和友元函数重载;以及几种特殊的运算符,包括++和- - 运算符、赋值运算符、 3.实验内容 3.1分析下面的程序,指出程序运行的结果: 1) 分析下面的程序,指出程序运行的结果:

类分析和对象分析: 结果预测:此程序实现对加法的重载,两对象(坐标)的x 和y 数据项分别相加,即两点坐标相加得出新点,所以结果预测为:30,30 2) 分析下面的程序,指出程序运行的结果:

类和对象分析: 结果预测:重载加法,使“+”适用于具体日期的计算,2001年(平年)2月10日(平年2月是 28天)的20天后是2001年3月2日,所以结果预测为:3/2/2001 3.2 编写并调试程序:

1)定义一个描述平面上一个点的类point,重载“++”和“--”运算符,并区分这两种运算符的前置和后置操作,构成一个完整的程序。 1)对象分析:只有一类对象:点 2)类的分析和设计:一个描述平面上一个点的类point,重载“++”和“--”运 算符操作设计: a)类声明和类实现: Main部分实现:

程序结果: 2)构造一个分数类rationalNumber,该类中包括分子和分母两个成员数据,并具有下述功能: (1)建立构造函数,它能防止分母为零,当分数不是最简形式时进行约分,并避免分母为负数。 (2)重载加法、减法、乘法以及除法运算符。 (3)重载关系运算符:>、<、==等。 ◆对象分析:只有一类对象:分数 ◆类的分析和设计:分数类rationalNumber,该类中包括分子和分母两个成员数 据,具有构造函数,重载运算符等功能

实验四运算符重载

成都学院 实验报告 课程名称C++面向对象程序设计实验名称实验4运算符重载姓名 班级 学号 指导教师 设计时间2016年5月16日

1.实验目的 1) 进一步了解运算符的概念和使用方法。 2) 掌握几种常用的运算符重载的方法。 3) 了解转换构造函数的使用方法。 4) 了解在Visual C++6.0 环境下进行运算符重载要注意的问题。 1.实验内容 1) 声明一个复数Complex,重载运算符“+”,“-”,“/”,“*”,使之能用于复数的加减乘除 运算,运算符重载函数作为Complex类的成员函数。编写程序,分别求两个复数之和、差、积和商。思考:编写的程序能否用于一个整数与一个复数的算术运算。 #include using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator +(Complex &c2); Complex operator -(Complex &c2); Complex operator *(Complex &c2); Complex operator /(Complex &c2); void display(); private: double real; double imag; }; Complex Complex::operator+(Complex &c2) { Complex c;

c.real=real+c2.real; c.imag=imag+c2.imag; return c; } Complex Complex::operator-(Complex &c2) { Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } Complex Complex::operator*(Complex &c2) { Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c; } Complex Complex::operator/(Complex &c2) { Complex c; c.real = (real*c2.real + imag*c2.imag)/(c2.real*c2.real + c2.imag*c2.imag); c.imag = (imag*c2.real - real*c2.imag)/(c2.real*c2.real + c2.imag*c2.imag); return c; } void Complex::display() { if(imag<0) cout<<"("<

相关文档
最新文档