还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
.编写一种程序,规定1生明一种类复数类,定义类的两个对象和对象1Complex Complex cl c2,通过构造函数直接指定复数的实部和虚部类私有数据组员为类型:cl doublereal和imag为
2.5及
3.7,对象c2通过构造函数直接指定复数的实部和虚部为
4.2及
6.5;定义友元运算符重载函数,它以对象为参数,调用该函数时能返回两个2cl.c2复数对象相加操作;定义组员函数调用该函数时,以格式输出目前对象时实部和3print,“real+imagi”虚部,例如对象的实部和虚部分别是和则调用函数输出格式为J
4.
26.5,print
4.2+
6.5i;编写主程序,计算出复数对象和相加成果,并将其成果输出4cl c2#includeiostreamusing namespace std;class Complexpublic:Complexdouble r=
0.0,double i=
6.
05.
056.0I表面积和体积#includeiostream#includestringusing namespacestd;class containerprotected:double radius;public:containerdouble radius1;virtual doublesurface_area=0;virtual doublevolume=0;;container::containerdouble radius1radius=radius1;}〃派生类与cube spherecylinderclass cube:public containerpublic:cubedouble radiusl:container radius1{}virtual doublesurface_area;virtual doublevolume;;double cube::surface_areareturn6*radius*radius;double cube::volume returnradius*radius*radius;class sphere:public containerpublic:spheredouble radius1:container radius1virtual doublesurface_area;virtual doublevolumeQ;;double sphere::surface_areareturn4*
3.14*radius*radius;double sphere::volumereturn
4.0/
3.0*
3.14*radius*radius*radius;class cylinder:public containerprotected:double high;public:cylinderdouble highl,double radius1:containerradius1{high=high1;}virtual doublesurface_area;virtual doublevolume;;double cylinder::surface_areareturn2*
3.14*radius*radius+2*
3.14*high*radius;double cylinder::volume return
3.14*radius*radius*high;int maincontainer*p;cube cc
6.0;sphere ss
5.0;cylinder cy
6.0,
5.0;p=cc;cout«n正方体的I表面积:n«p-surface_area«endl;正方体的体积:coutv p-volume vendl;p=ss;球体日勺表面积:cout p-surface_area«endl;球体勺体积:coutv Hvp-vohimevendl;p=cy;圆柱体日勺表面积:cout”p-surface_areavendl;圆柱体的体积:coutv p-volumevendl;return0;X:\USERS\HP\vc\sadjh\Debug\sadjh.e的的的的候方W在八柱正正八面翦器圆圆面积nay^sesvpt7:4-3111:co5]1363354:6ek24n-332ifimag!=Ocout«imag«,i,«endl;void mainComplexcl
2.5,
3.7,c
24.2,
6.5,c3;c3=cl+c2;c
3.printf;►C:\USERS\H P\vc\sadasdas\Debug\s2S.7+
10.2iPress anykey tocontinue.编写一种程序,其中设计一种时间类用来保留时、分、秒等私有数据2Time,组员,通过重载操作符“+”实现两个时间日勺相加规定将小时范围限制在不小于等于分钟范围限制在分,秒钟范围限制在秒0,〜590〜59提醒时间类的参照框架如下Time Iclass Timepublic:〃构造函数Timeint h=O int m=0,int s=0;9运算符重载函数,实现两个时间日勺相加Time operator+Time;//〃显示时间函数void disptime;private:int hours,minutes,seconds;;#includeiostreamusing namespacestd;classTimepublic:〃构造函数Timeint h=0,int m=0,int s=0;运算符重载函数,实现两个时间勺相加Time operator+Time;//H〃显示时间函数void disptime;private:int hours;int minutes;int seconds;;Time::Timeint h,int m,int s二hours h;minutes=m;seconds=s;Time Time::operator+Time t{int h,m,s;s=t.seconds+seconds%60;m=minutes+t.minutes-i-t.seconds+seconds/60%60;h=hours4-t.hours4-minutes+t.minutes4-t.seconds4-seconds/60/60;二hours h;minutes=m;seconds=s;return*this;void Time::disptime{cout«hours«,:,«minutes«n:n«seconds«,.n«endl;void Inputinth,intm,int s输入时间:;coutvv”cin»h;cin»m;cin»s;whilem0||m59||s0||s59时间输入错误!请重新输!;coutv”************\n”输入时间:coutvv”cin»h;cin»m;cin»s;int maininthl,ml,si,h2,m2,s2;Inputhl,ml,sl;Inputh2,m2,s2;Time Ah1,m1,s1,Bh2,m2,s2;A.disptime;return0;•C:\USERS\HP\vc\5adasdas\Debus输入时间:工2332输入时间712438:36:
15.Press anykey tocontinue.用友元运算符函数或组员运算符函数,重载运算符“+实现对试3验二中实现日勺矩阵类日勺对象日勺加、减、乘法#includeiostream#define hang2#define lie2class Matrixprivate:int Row;int Column;int MATRIX[hang][lie];public:Matrixint r,int cRow=r;Column=c;Matrix{}void TypeMatrix;void Print const;Matrix operator=const Matrixrhs;Matrix operator+const Matrixrhs;Matrix operator-const Matrixrhs;;void Matrix::TypeMatrix请输入矩阵:std::coutvv”“vvstd::endl;forint i=0;ihang;i++forint j=O;jlie;j++std::cin»MATRIX[i][j];void Matrix::Printconst矩阵勺成果为:《std::coutvv”H std::endl;forint q=0;qhang;q++forint s=0;slie;s++std::cout«MATRIX[q][s]«H\tn;ifs=lie-lstd::cout«std::endl;Matrix Matrix::operator=const Matrixrhs。
个人认证
优秀文档
获得点赞 0