
//通过函数来实现复数相加
#include <iostream>
using namespace std;
class Complex //定义 Complex
{ public:
Complex( ){ real = 0; imag =0;} //定义无参构造函数,并初始化
Complex( double r, double i){ real = r; imag = i;} //构造函数重载,定义并初始化
Complex complex_add( Complex &c2); /*声明复数相加的函数,这个函数是正在定义的 Complex 类,c2 是
complex 类的引用 */
void display( ); //声明输出函数
private:
double real; //实部
double imag; //虚部
};
Complex Complex::complex_add( Complex &c2) //定义复数相加的函数
{ Complex c;
c.real = real + c2.real; //两个复数的实部相加
c.imag = imag + c2.imag; //两个复数的虚部相加
return c;}
void Complex::display( ) //定义输出函数
{ cout << "(" << real << "," << imag << "i)" << endl;}
int main( )
{
Complex c1( 3,4),c2( 5,-10),c3; //定义三个复数对象,建立对象时自动调用有参构造函数并赋值
c3 = ( c2); //调用复数相加函数,注意这里是通过 c1 调用 complex_add 函数的
cout << "c1 =";c1.display( ); //输出 c1 的值
cout << "c2 =";c2.display( ); //输出 c2 的值
cout << "c1 + c2 =";c3.display( ); //输出 c3 的值
system("pause");
return 0;
}
/*
在 Complex 类中定义一个 complex_add 函数,其作用是将两个复数相加,在该函数体中定义一个 Complex 类对象 c 作为临时对象。
其后的两个赋值语句相当于
c.real = this -> real + c2.real;
c.imag = this -> imag + c2.imag
this 是当前对象的指针。现在,在 main 函数中是通过对象 c1 调用 complex_add 函数的,因此,以上两句相当于
c.real = c1.real + c2.real;
c.imag = c1.imag + c2.imag;
注意函数的返回值是 Complex 类对象 c 的值。
*/
#include <iostream>
using namespace std;
class Complex //定义 Complex
{ public:
Complex( ){ real = 0; imag =0;} //定义无参构造函数,并初始化
Complex( double r, double i){ real = r; imag = i;} //构造函数重载,定义并初始化
Complex complex_add( Complex &c2); /*声明复数相加的函数,这个函数是正在定义的 Complex 类,c2 是
complex 类的引用 */
void display( ); //声明输出函数
private:
double real; //实部
double imag; //虚部
};
Complex Complex::complex_add( Complex &c2) //定义复数相加的函数
{ Complex c;
c.real = real + c2.real; //两个复数的实部相加
c.imag = imag + c2.imag; //两个复数的虚部相加
return c;}
void Complex::display( ) //定义输出函数
{ cout << "(" << real << "," << imag << "i)" << endl;}
int main( )
{
Complex c1( 3,4),c2( 5,-10),c3; //定义三个复数对象,建立对象时自动调用有参构造函数并赋值
c3 = ( c2); //调用复数相加函数,注意这里是通过 c1 调用 complex_add 函数的
cout << "c1 =";c1.display( ); //输出 c1 的值
cout << "c2 =";c2.display( ); //输出 c2 的值
cout << "c1 + c2 =";c3.display( ); //输出 c3 的值
system("pause");
return 0;
}
/*
在 Complex 类中定义一个 complex_add 函数,其作用是将两个复数相加,在该函数体中定义一个 Complex 类对象 c 作为临时对象。
其后的两个赋值语句相当于
c.real = this -> real + c2.real;
c.imag = this -> imag + c2.imag
this 是当前对象的指针。现在,在 main 函数中是通过对象 c1 调用 complex_add 函数的,因此,以上两句相当于
c.real = c1.real + c2.real;
c.imag = c1.imag + c2.imag;
注意函数的返回值是 Complex 类对象 c 的值。
*/
[ 本帖最后由 hmsabc 于 2010-8-13 09:26 编辑 ]