《面向对象程序设计》编程题复习及其答案_第1页
《面向对象程序设计》编程题复习及其答案_第2页
《面向对象程序设计》编程题复习及其答案_第3页
《面向对象程序设计》编程题复习及其答案_第4页
《面向对象程序设计》编程题复习及其答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计复习题1、(C+的输入输出)天猫优惠券,我就要券定义一个函数max,实现输入两个数a、b,比较并从小到大输出。2、(函数的重载)(1)定义一个带两个参数的函数max,输出最大值。(2)再定义一个带三个参数的函数max,输出最大值。(3)主函数测试之。3、(有默认参数的函数)将题2用带默认参数的函数实现。4、(变量的引用)(1)定义一个swapl函数,以普通形参传入两个变量a、b,互换a、b的值。(2)定义一个swap2函数,以指针形参传入两个变量a、b,互换a、b的值。(3)定义一个swap3函数,以引用形参输入两个变量a、b,互换a、b的值。(4)主函数定义两个变量x、y传入

2、三个函数,观察x、y值前后的变化。5、(类的定义)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1) set函数,键盘输入学号,姓名,年龄,性别(2) display函数,输出学生信息。6、(构造函数和析构函数)定义一个student类,数据成员包括:学号num,姓名name,年龄age,性别sex,成员函数包括:(1)构造函数,初始化学号,姓名,年龄,性别(2)display函数,输出学生信息。(3)析构函数,输出学生学号。(4)主函数定义多个对象,并注意构造函数和析构函数的调用顺序。7、(构造函数的重载)在题6基础上增加一个默认构

3、造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。(4)观察构造函数和析构函数的调用。10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。11、(静态成员)定义一个student类,数据成员包括:学号num,姓名name,成绩score,累加总分sum,累计人数count。成员函数包括:构造函数统计人数count

4、;(1)非静态成员total函数,求sum。(2)静态成员average函数,求平均成绩。(3)主函数定义包含3个学生的数组,求三个学生的平均成绩。12、(友元函数)定义一个Time类,私有数据成员包括:时hour、分minute、秒second成员函数:构造函数Time()定义一个友元函数display,使之访问私有成员输出时分秒。13、(运算符重载)(1)定义一个复数类,实现对“+”,>>,<<的重载,使之可实现以下主函数。intmain()Complexa(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cin>>f;cou

5、t<<f<<endl;return0;(2)定义一个Time类,实现对“+”的前缀、后缀重载。P134i+:单目运算符天猫优惠券,我就要券14、(单继承及派生类构造函数)(1)定义一个person类,数据成员包括:姓名name年龄age,性别sex成员函数:构造函数及display函数(2)定义一个派生类student,公有28承与person类,新增成员:专业major,入学日期enterdate(Date类自定义)。(3)主函数定义student对象,各类构造函数的调用顺序。15、(多继承)在14题基础上由person类再派生出teacher类,新增成员:职称tit

6、le,工资wage16、(虚继承)由student类和teacher类共同派生出graduate类,新增成员:年级grade,将person类定义成虚基类,实现用虚继承解决二义性。17、(抽象类及多态性)定义一个抽象基类Shape,由它派生出5个派生类,Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangel(三角形)。用虚函数分别计算几何图形面积,并求他们的和。要求定义一个基类指针,使它指向每一个派生类对象,体现其多态性。1、#include<iostream>usingnamespacestd;voidmax()in

7、ta,b;cout<<”请输入两个数:"<<endl;cin>>a>>b;if(a>b)cout<<b<<""<<a<<endl;elsecout<<a<<""<<b<<endl;intmain()max();return0;2、#include<iostream>usingnamespacestd;voidmax(inta,intb)if(a>b)cout<<a&l

8、t;<endl;elsecout<<b<<endl;voidmax(inta,intb,intc)if(a>b&&a>c)cout<<a<<endl;elseif(b>c)cout<<b<<endl;elsecout<<c<<endl;intmain()max(2,5);max(7,5,3);return0;3、#include<iostream>usingnamespacestd;voidmax(inta,intb,intc=0)if(a>

9、b&&a>c)cout<<a<<endl;elseif(b>c)cout<<b<<endl;elsecout<<c<<endl;)intmain()(max(2,5);max(7,5,3);return0;)4、#include<iostream>usingnamespacestd;voidswap1(inta,intb)(inttemp;temp=a;a=b;b=temp;)voidswap2(int*a,int*b)(inttemp;temp=*a;*a=*b;*b=temp;)

10、voidswap3(int&a,int&b)(inttemp;temp=a;a=b;b=temp;)intmain()(intx,y;x=5;y=7;swap1(x,y);cout<<"x="<<x<<"y="<<y<<endl;x=5;y=7;swap2(&x,&y);cout<<"x="<<x<<"y="<<y<<endl;x=5;y=7;swap3(x,y);

11、cout<<"x="<<x<<"y="<<y<<endl;return0;5、#include<iostream>#include<string>usingnamespacestd;classstudentprivate:intnum;stringname;intage;charsex;public:voidset()cout<<"请输入:学号,姓名,年龄,性别(form)"<<endl;cin>>num>&g

12、t;name>>age>>sex;voiddisplay()cout<<“学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<“年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;intmain()students;s.set();s.display();return0;6、#include<io

13、stream>#include<string>usingnamespacestd;classstudentprivate:intnum;stringname;intage;charsex;public:/*voidset()cout<<"请输入:学号,姓名,年龄,性别(form)"<<endl;cin>>num>>name>>age>>sex;*/student(intnum,stringname,inta,ints)cout<<"调用构造函数num="

14、<<num<<endl;this->num=num;this->name=name;age=a;sex=s;天猫优惠券,我就要券voiddisplay。cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;

15、student()cout<<”析构函数学号:"<<num<<endl;intmain()students(1001,张三”,25,'f),s1(1002,"李四",24,'m');/s.set();s.display();s1.display();return0;7、#include<iostream>#include<string>usingnamespacestd;classstudent(private:intnum;stringname;intage;charsex;pu

16、blic:/*voidset()(cout<<"请输入:学号,姓名,年龄,性别(form)"<<endl;cin>>num>>name>>age>>sex;*/student()(cout<<”调用构造函数num="<<0<<endl;num=0;name=""age=18;sex='f;student(intnum,stringname,inta,ints)(cout<<"调用构造函数num="&

17、lt;<num<<endl;this->num=num;this->name=name;age=a;sex=s;voiddisplay()(cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;student()

18、(cout<<”析构函数学号:"<<num<<endl;intmain()students(1001,张三",25,'f),s1(1002,"李四",24,'m'),s2;/s.set();s.display();cout<<endl;s1.display();cout<<endl;s2.display();cout<<endl;return0;8、#include<iostream>#include<string>usingnames

19、pacestd;天猫优惠券,我就要券classstudentprivate:intnum;stringname;intage;charsex;public:student(intnum=0,stringname="",inta=18,ints='f)cout<<”调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;voiddisplay()cout<<"学号:"<<num<<e

20、ndl;cout<<"姓名:"<<name<<endl;cout<<“年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;student()cout<<"天猫优惠券,我就要券学号:"<<num<<endl;;intmain()students(1001,张三”,25,'f),s1(1002,"李四",24,'m'

21、),s2;/s.set();s.display();cout<<endl;s1.display();cout<<endl;s2.display();cout<<endl;return0;9、#include<iostream>#include<string>usingnamespacestd;classstudentprivate:intnum;stringname;intage;charsex;public:student(intnum=0,stringname="",inta=18,ints='f)co

22、ut<<"调用构造函数num="<<num<<endl;this->num=num;this->name=name;age=a;sex=s;voiddisplay()cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"&

23、lt;<sex<<endl;student()cout<<”析构函数学号:"<<num<<endl;;intmain()students3=student(1001,"张三",25,'f),student(1002,"李四",24,'m');for(inti=0;i<3;i+)天猫优惠券,我就要券si.display();cout<<endl;student*p;p=newstudent(1003,'王五",23,'f);p

24、->display();cout<<endl;deletep;return0;10、#include<iostream>#include<string>usingnamespacestd;classstudentprivate:intnum;stringname;intage;charsex;public:student(intnum=0,stringname="",inta=18,ints='f)cout<<"调用构造函数num="<<num<<endl;this-&

25、gt;num=num;this->name=name;age=a;sex=s;student(student&s)天猫优惠券,我就要券num=s.num;name=;age=s.age;sex=s.sex;voiddisplay。cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"

26、性另U:"<<sex<<endl;student()cout<<”析构函数学号:"<<num<<endl;intmain()students1(1001:张三”,25,'f);students2(s1);s1.display();s2.display();return0;11、#include<iostream>#include<string>usingnamespacestd;classstudentprivate:intnum;stringname;floatscore;stat

27、icfloatsum;staticintcount;public:student(intnum=0,stringname="",floats=80)this->num=num;this->name=name;score=s;count+;voiddisplay。cout<<"学号:"<<num<<endl;cout<<"姓名:"<<name<<endl;cout<<"成绩:"<<score<<en

28、dl;voidtotal();staticfloataverage。;;floatstudent:sum=0.0;intstudent二count=0;voidstudent:total()sum+=score;floatstudent:average()returnsum/count;intmain()students3=student(1001,"张三”,87),student(1002二李四”),student(1003,”王五",90);for(inti=0;i<3;i+)si.total();cout<<"平均成绩:"<

29、<student二average()<<endl;return0;12、#include<iostream.h>/#include<string>/usingnamespacestd;classTimeprivate:inthour;intminute;intsecond;public:Time(inth=12,intm=0,ints=0)hour=h;minute=m;second=s;friendvoiddisplay(Time&);voiddisplay(Time&t)cout<<t.hour<<"

30、;时"<<t.minute<<"分"<<t.second<<"秒"<<endl;intmain()Timet,t1(13,12,22);display(t);display(t1);return0;13、(1)/方法1:多次重载十#include<iostream.h>/#include<string>/usingnamespacestd;classComplexprivate:floatreal;floatimage;public:Complex(floatr

31、eal,floatimage)this->real=real;this->image=image;Complex。real=0;image=0;friendComplexoperator+(Complex&a,Complex&b);friendComplexoperator+(Complex&a,floatb);friendComplexoperator+(floata,Complex&b);friendostream&operator<<(ostream&output,Complexa);friendistream&am

32、p;operator>>(istream&input,Complexa);Complexoperator+(Complex&a,Complex&b)returnComplex(a.real+b.real,a.image+b.image);Complexoperator+(Complex&a,floatb)returnComplex(a.real+b,a.image);Complexoperator+(floata,Complex&b)returnComplex(b.real+a,b.image);ostream&operator<

33、;<(ostream&output,Complexa)if(a.image>0)output<<a.real<<"+"<<a.image<<"i"<<endl;elseoutput<<a.real<<a.image<<"i"<<endl;returnoutput;istream&operator>>(istream&input,Complexa)input>>a.rea

34、l>>a.image;returninput;intmain()Complexa(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cout<<c<<endl;cin>>f;cout<<f<<endl;return0;/方法2:使用转换构造函数实现#include<iostream.h>classComplexprivate:floatreal;floatimage;public:Complex(floatreal,floatimage)this->real=real;this-

35、>image=image;Complex。real=0;image=0;/定义转换构造函数Complex(floatr)real=r;image=0;friendComplexoperator+(Complex&a,Complex&b);friendostream&operator<<(ostream&output,Complexa);friendistream&operator>>(istream&input,Complexa);;Complexoperator+(Complex&a,Complex&

36、;b)returnComplex(a.real+b.real,a.image+b.image);ostream&operator<<(ostream&output,Complexa)if(a.image>0)output<<a.real<<"+"<<a.image<<"i"<<endl;elseoutput<<a.real<<a.image<<"i"<<endl;returnoutput;ist

37、ream&operator>>(istream&input,Complexa)input>>a.real>>a.image;returninput;intmain()Complexa(3,4),b(1,2),c,d,e,f;c=a+b;d=a+5;e=3+b;cout<<c<<endl;cin>>f;cout<<f<<endl;return0;(2)#include<iostream>usingnamespacestd;classTimepublic:Time()minu

38、te=0;sec=0;Time(intm,ints):minute(m),sec(s)Timeoperator+();Timeoperator+(int);voiddisplay()cout<<minute<<":"<<sec<<endl;private:intminute;intsec;天猫优惠券,我就要券TimeTime:operator+()if(+sec>=60)sec-=60;+minute;return*this;TimeTime二operator+(int)Timetemp(*this);sec+;if(s

39、ec>=60)sec-=60;+minute;returntemp;intmain()Timetime1(34,59),time2;cout<<"time1:"time1.display();+time1;cout<<"+time1:"time1.display();time2=time1+;cout<<"time1+:"time1.display();cout<<"time2:"time2.display();return0;14、#include<io

40、stream>#include<string>usingnamespacestd;classDateprivate:intyear;intmonth;intday;public:Date(inty=2013,intm=1,intd=1)year=y;month=m;day=d;voiddisplay。cout<<year<<"年"<<month<<"月"<<day<<"曰"<<endl;classpersonprivate:strin

41、gname;intage;charsex;public:person(stringn,inta,chars)name=n;age=a;sex=s;voiddisplay()cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;classstudent:publicpersonpublic:student(stringn,inta,chars,

42、stringmaj,inty,intm,intd):person(n,a,s),enterdate(y,m,d)major=maj;voiddisplay。person:display();cout<<"专业:"<<major<<endl;cout<<"入学日期:"enterdate.display();private:stringmajor;Dateenterdate;/<学日期;intmain()studentsC张三”,20,'f,"通信”,2012,9,6);s.displa

43、y();return0;15、#include<iostream>#include<string>usingnamespacestd;classDateprivate:intyear;intmonth;intday;public:Date(inty=2013,intm=1,intd=1)year=y;month=m;day=d;voiddisplay。cout<<year<<"年"<<month<<"月"<<day<<"曰"<<

44、endl;;classpersonprivate:stringname;intage;charsex;public:person(stringn,inta,chars)name=n;age=a;sex=s;voiddisplay。cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;classstudent:publicpersonpubli

45、c:student(stringn,inta,chars,stringmaj,inty,intm,intd):person(n,a,s),enterdate(y,m,d)major=maj;voiddisplay()person:display();cout<<"专业:"<<major<<endl;cout<<"入学日期:"enterdate.display();private:stringmajor;Dateenterdate;/<学日期;天猫优惠券,我就要券classteacher:publicp

46、ersonpublic:teacher(stringn,inta,chars,stringt,floatw):person(n,a,s)title=t;wage=w;voiddisplay。person:display();cout<<"职称:"<<title<<endl;private:stringtitle;floatwage;intmain()studentsC张三”,20,'f,"通信”,2012,9,6);s.display();teachert('李四",30,'m',&qu

47、ot;讲师",3000);t.display();return0;16、#include<iostream>#include<string>usingnamespacestd;classDateprivate:intyear;intmonth;intday;public:Date(inty=2013,intm=1,intd=1)year=y;month=m;day=d;voiddisplay。cout<<year<<"年"<<month<<"月"<<day<

48、;<"曰"<<endl;classpersonprivate:stringname;intage;charsex;public:person(stringn,inta,chars)name=n;age=a;sex=s;voiddisplay()cout<<"姓名:"<<name<<endl;cout<<"年龄:"<<age<<endl;cout<<"性另U:"<<sex<<endl;clas

49、sstudent:virtualpublicpersonm,intpublic:student(stringn,inta,chars,stringmaj,inty,intd):person(n,a,s),enterdate(y,m,d)major=maj;voiddisplay。person:display();cout<<"专业:"<<major<<endl;cout<<"入学日期:"enterdate.display();private:protected:stringmajor;Dateenterda

50、te;/<学日期;classteacher:virtualpublicpersonpublic:teacher(stringn,inta,chars,stringt,floatw):person(n,a,s)title=t;wage=w;voiddisplay。person:display();cout<<"职称:"<<title<<endl;private:protected:stringtitle;floatwage;classgraduate:publicstudent,publicteacherpublic:graduate(stringn,inta,chars,stringmaj,inty,intm,intd,stringt,floatw,stringg):person(n,a,s),student(n,a,s,maj,y,m,d),teacher(n,a,s,t,w)grade=g;voiddisplay。person:display();cout<<"专业:"<<major<<endl;cout<<"入学日期:"enterdate.di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论