问个关于c++operator函数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:54:48
知道operator函数用于运算符重载,可是以下一个定义复数运算的类的定义中
倒数第二行ostream& operator<<(ostream& oo, CComplex& d);是什么意思啊。这句的格式 也觉得好奇怪啊
#ifndef Ccomplex_H
#define Ccomplex_H
#include "iostream.h"

class CComplex{
public:
double Real,Imag;
CComplex();
CComplex(double X, double Y);
CComplex(double X);
CComplex operator +(CComplex& X);
CComplex operator -(CComplex& X);
CComplex operator *(CComplex& X);
CComplex operator /(CComplex& X);
CComplex operator /(double d);
double absCplx();
void Display(ostream& out);
void Display();
CComplex Conj();
};
ostream& operator<<(ostream& oo, CComplex& d);
#endif

ostreame是返回的类型,意思是返回一个输入输出类型

带&。。可以保证可以连续使用《运算符。。比如<<a<<b。。否则,不能连续使用。。具体原因你考虑一下吧。

函数参数有两个。。比如cout<<a
<<左面左面的参数是一个ostream类型的。。所以。。重载的第一个参数就是一个ostream类型的参数。。。

右边的参数是输出的类的类型对象。。。

恩。大概就是这样了!!