例10.7.txt

来自「是关于谭浩强老师的C++程序设计课程的程序源代码以及课件」· 文本 代码 · 共 28 行

TXT
28
字号
例10.7 在例10.2的基础上,用重载的“<<”输出复数。 
#include <iostream>
using namespace std; 
class Complex
{public:
Complex( ){real=0;imag=0;}
Complex(double r,double i){real=r;imag=i;}
Complex operator + (Complex &c2);                    //运算符“+”重载为成员函数
friend ostream& operator << (ostream&,Complex&);     //运算符“<<”重载为友元函数
private:
double real;
double imag;
};

Complex Complex∷operator + (Complex &c2)               //定义运算符“+”重载函数
{return Complex(real+c2.real,imag+c2.imag);}
ostream& operator << (ostream& output,Complex& c)       //定义运算符“<<”重载函数
{output<<″(″<<c.real<<″+″<<c.imag<<″i)″<<endl;
return output;
}

int main( )
{Complex c1(2,4),c2(6,10),c3;
c3=c1+c2;
cout<<c3;
return 0;
}
(在Visual C++ 6.0环境下运行时,需将第一行改为#include <iostream.h>,并删去第2行。)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?