复数类 程序解释

来源:百度知道 编辑:UC知道 时间:2024/06/06 10:05:30
我是才开始学习c++,请教大虾们详细解释下列程序。回答得好再追加50分。。
定义之类的不用解释。。就是类,函数调用啊,重载啊,友元啊,构造函数之类的要说明。。说明这句函数的功能。。比如:complex(){real=imag=0;} 好像是个构造函数。。
#include <iostream.h>
class complex
{
public:
complex(){real=imag=0;}
complex(double r,double i)
{real=r;imag=i;}
complex operator+(const complex &c);
complex operator-(const complex &c);
friend void print(const complex &c);
private:
double real,imag;
};
inline complex complex :: operator+(const complex &c)
{return complex (real+c.real,imag+c.imag);}
inline complex complex :: operator-(const complex &c)
{return complex (real-c.real,imag-c.imag);};
void print(const complex &c)
{
if(c.imag<0)
cout<<c.real<<c.imag<<'i';
else
cout<<c.real<<'+'<<c.imag<<'i';
}
void main()
{
complex c1(2.0,3.0),c2(4.0,-5.0),c3;
c3=c1+c2;
cout

#include <iostream.h>
class complex
{
public:
complex(){real=imag=0;} //默认构造函数
complex(double r,double i) //构造函数重载
{real=r;imag=i;}
complex operator+(const complex &c); //复数类+运算符重载
complex operator-(const complex &c); //复数类-运算符重载
friend void print(const complex &c); //打印复数方法
private:
double real,imag; //私有类成员,分别代表实数部分和虚数部分
};
inline complex complex :: operator+(const complex &c) //复数类+运算符重载实现
{return complex (real+c.real,imag+c.imag);}
inline complex complex :: operator-(const complex &c) //复数类-运算符重载实现
{return complex (real-c.real,imag-c.imag);};
void print(const complex &c) //打印复数方法实现
{
if(c.imag<0)
cout<<c.real<<c.imag<<'i';
else
cout<<c.real<<'+'<<c.imag<<'i';
}
void main()
{
complex