欢迎来到天天文库
浏览记录
ID:38924321
大小:82.01 KB
页数:15页
时间:2019-06-21
《河北工业大学-C++实验报告实验四》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、编写一个程序,要求:(1)生明一个类Complex(复数类),定义类Complex的两个对象c1和c2,对象c1通过构造函数直接指定复数的实部和虚部(类私有数据成员为double类型:real和imag)为2.5及3.7,对象c2通过构造函数直接指定复数的实部和虚部为4.2及6.5;(2)定义友元运算符重载函数,它以c1、c2对象为参数,调用该函数时能返回两个复数对象相加操作;(3)定义成员函数print,调用该函数时,以格式“real+imagi”输出当前对象的实部和虚部,例如:对象的实部和虚部分别是4.
2、2和6.5,则调用print函数输出格式为:4.2+6.5i;(4)编写主程序,计算出复数对象c1和c2相加结果,并将其结果输出。#includeusingnamespacestd;classComplex{public:Complex(doubler=0.0,doublei=0.0);friendComplexoperator+(Complex&a,Complex&b);voidprintf();private:doublereal;doubleimag;};Complex::Comple
3、x(doubler,doublei){real=r;imag=i;}Complexoperator+(Complex&a,Complex&b){Complextemp;temp.real=a.real+b.real;temp.imag=a.imag+b.imag;returntemp;}voidComplex::printf(){cout<0)cout<<"+";if(imag!=0)cout<4、7),c2(4.2,6.5),c3;c3=c1+c2;c3.printf();}2、编写一个程序,其中设计一个时间类Time,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现两个时间的相加。要求将小时范围限制在大于等于0,分钟范围限制在0~59分,秒钟范围限制在0~59秒。提示:时间类Time的参考框架如下:classTime{public:Time(inth=0,intm=0,ints=0);//构造函数Timeoperator+(Time&);//运算符重载函数,实现两个时间的相加voiddisp5、time();//显示时间函数private:inthours,minutes,seconds;};#includeusingnamespacestd;classTime{public:Time(inth=0,intm=0,ints=0);//构造函数Timeoperator+(Time&);//运算符重载函数,实现两个时间的相加voiddisptime();//显示时间函数private:inthours;intminutes;intseconds;};Time::Time(inth,in6、tm,ints){hours=h;minutes=m;seconds=s;}TimeTime::operator+(Time&t){inth,m,s;s=(t.seconds+seconds)%60;m=(minutes+t.minutes+(t.seconds+seconds)/60)%60;h=hours+t.hours+(minutes+t.minutes+(t.seconds+seconds)/60)/60;hours=h;minutes=m;seconds=s;return*this;}voidTim7、e::disptime(){cout<>h;cin>>m;cin>>s;while(m<08、9、m>5910、11、s<012、13、s>59){cout<<"******时间输入错误!请重新输!******";cout<<"输入时间:";cin>>h;cin>>m;cin>>s;}}intmain(){inth1,m1,s1,h2,m2,14、s2;Input(h1,m1,s1);Input(h2,m2,s2);TimeA(h1,m1,s1),B(h2,m2,s2);A=A+B;A.disptime();return0;}3、用友元运算符函数或成员运算符函数,重载运算符“+”、“-”、“*”,实现对实验二中实现的矩阵类的对象的加、减、乘法。#include#definehang2#definelie2cl
4、7),c2(4.2,6.5),c3;c3=c1+c2;c3.printf();}2、编写一个程序,其中设计一个时间类Time,用来保存时、分、秒等私有数据成员,通过重载操作符“+”实现两个时间的相加。要求将小时范围限制在大于等于0,分钟范围限制在0~59分,秒钟范围限制在0~59秒。提示:时间类Time的参考框架如下:classTime{public:Time(inth=0,intm=0,ints=0);//构造函数Timeoperator+(Time&);//运算符重载函数,实现两个时间的相加voiddisp
5、time();//显示时间函数private:inthours,minutes,seconds;};#includeusingnamespacestd;classTime{public:Time(inth=0,intm=0,ints=0);//构造函数Timeoperator+(Time&);//运算符重载函数,实现两个时间的相加voiddisptime();//显示时间函数private:inthours;intminutes;intseconds;};Time::Time(inth,in
6、tm,ints){hours=h;minutes=m;seconds=s;}TimeTime::operator+(Time&t){inth,m,s;s=(t.seconds+seconds)%60;m=(minutes+t.minutes+(t.seconds+seconds)/60)%60;h=hours+t.hours+(minutes+t.minutes+(t.seconds+seconds)/60)/60;hours=h;minutes=m;seconds=s;return*this;}voidTim
7、e::disptime(){cout<>h;cin>>m;cin>>s;while(m<0
8、
9、m>59
10、
11、s<0
12、
13、s>59){cout<<"******时间输入错误!请重新输!******";cout<<"输入时间:";cin>>h;cin>>m;cin>>s;}}intmain(){inth1,m1,s1,h2,m2,
14、s2;Input(h1,m1,s1);Input(h2,m2,s2);TimeA(h1,m1,s1),B(h2,m2,s2);A=A+B;A.disptime();return0;}3、用友元运算符函数或成员运算符函数,重载运算符“+”、“-”、“*”,实现对实验二中实现的矩阵类的对象的加、减、乘法。#include#definehang2#definelie2cl
此文档下载收益归作者所有