正在加载图片...
1-4.什么是抽象数据类型?试用C++的类声明定义“复数”的抽象数据类型。要求 (1)在复数内部用浮点数定义它的实部和虚部。 (2)实现3个构造函数:缺省的构造函数没有参数:第二个构造函数将双精度浮点数赋 给复数的实部,虚部置为0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚 (3)定义获取和修改复数的实部和虚部,以及+、-、*、等运算的成员函数。 (4)定义重载的流函数来输出一个复数 【解答】 抽象数据类型通常是指由用户定义,用以表示应用问题的数据模型。抽象数据类型由基 本的数据类型构成,并包括一组相关的服务。 ∥在头文件 complex. h中定义的复数类 #ifndef complex h #define complex h #include <iostream. h> class comlex i complex (f Re= Im=0; ∥不带参数的构造函数 complex( double r)i Re ∥置实部的构造函数 complex( double r, dou ble i){Re=r;m=i;}分别置实部、虚部的构造函数 dou ble getReal(i return Re: j ∥取复数实部 double getlmag()i return Im; 3 取复数虚部 void setReal( double r)Re =r;) ∥修改复数实部 void setlmag( double i)i Im=i:) ∥修改复数虚部 or=( complex& ob)i Re=ob. R oblm;}∥复数赋值 「重载函数:复数四则运算 lex& ob ) friend ostream& operator<<( ostream&os, complex&c片;∥友元函数:重载<< private double Re.m ∥复数的实部与虚部 }; ∥复数类 complex的相关服务的实现放在C++源文件 complex. cpp中 #include <iostream h complex& complex operator+( complex ob)i ∥重载函数:复数加法运算。 comp esult=new complex( Re + ob. Re, Im +ob. Im )1-4.什么是抽象数据类型?试用 C++的类声明定义“复数”的抽象数据类型。要求 (1) 在复数内部用浮点数定义它的实部和虚部。 (2) 实现 3 个构造函数:缺省的构造函数没有参数;第二个构造函数将双精度浮点数赋 给复数的实部,虚部置为 0;第三个构造函数将两个双精度浮点数分别赋给复数的实部和虚 部。 (3) 定义获取和修改复数的实部和虚部,以及+、-、*、/等运算的成员函数。 (4) 定义重载的流函数来输出一个复数。 【解答】 抽象数据类型通常是指由用户定义,用以表示应用问题的数据模型。抽象数据类型由基 本的数据类型构成,并包括一组相关的服务。 //在头文件 complex.h 中定义的复数类 #ifndef _complex_h_ #define _complex_h_ #include <iostream.h> class comlex { public: complex ( ){ Re = Im = 0; } //不带参数的构造函数 complex ( double r) { Re = r; Im = 0; } //只置实部的构造函数 complex ( double r, double i ) { Re = r; Im = i; } //分别置实部、虚部的构造函数 double getReal ( ) { return Re; } //取复数实部 double getImag ( ) { return Im; } //取复数虚部 void setReal ( double r ) { Re = r; } //修改复数实部 void setImag ( double i ) { Im = i; } //修改复数虚部 complex& operator = ( complex& ob) { Re = ob.Re; Im = ob.Im; } //复数赋值 complex& operator + ( complex& ob ); //重载函数:复数四则运算 complex& operator – ( complex& ob ); complex& operator * ( complex& ob ); complex& operator / ( complex& ob ); friend ostream& operator << ( ostream& os, complex& c ); //友元函数:重载<< private: double Re, Im; //复数的实部与虚部 }; #endif //复数类 complex 的相关服务的实现放在 C++源文件 complex.cpp 中 #include <iostream.h> #include <math.h> #include “complex.h” complex& complex :: operator + ( complex & ob ) { //重载函数:复数加法运算。 complex * result = new complex ( Re + ob.Re, Im + ob.Im );
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有