4-1 复数类的运算符重载

mac2022-06-30  21

                                                                        4-1 复数类的运算符重载

Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic

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;elseOUT<<"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

相关资源:复数类加减法运算符重载成员函数
最新回复(0)