ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:19.73KB ,
资源ID:12889030      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12889030.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《面向对象程序设计》编程题复习及其答案.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《面向对象程序设计》编程题复习及其答案.docx

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

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

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

4、t。成员函数包括:构造函数统计人数count;(1)非静态成员total函数,求sum。(2)静态成员average函数,求平均成绩。(3)主函数定义包含3个学生的数组,求三个学生的平均成绩。 12、(友元函数)定义一个Time类,私有数据成员包括: 时hour、分minute、秒second成员函数:构造函数Time()定义一个友元函数display,使之访问私有成员输出时分秒。13、(运算符重载)(1)定义一个复数类,实现对“+”,f; coutfendl;return 0;(2)定义一个Time类,实现对“+”的前缀、后缀重载。P134i+:单目运算符天猫优惠券,我就要券14、(单继承及

5、派生类构造函数)(1)定义一个person类,数据成员包括:姓名name,年龄age,性别sex成员函数:构造函数及display函数(2)定义一个派生类student,公有继承与person类,新增成员:专业major,入学日期enterdate(Date类自定义)。(3)主函数定义student对象,各类构造函数的调用顺序。15、(多继承)在14题基础上由person类再派生出teacher类,新增成员:职称title,工资wage16、(虚继承)由student类和teacher类共同派生出graduate类,新增成员: 年级grade,将person类定义成虚基类,实现用虚继承解决二义

6、性。17、(抽象类及多态性)定义一个抽象基类Shape,由它派生出5个派生类,Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangel(三角形)。用虚函数分别计算几何图形面积,并求他们的和。要求定义一个基类指针,使它指向每一个派生类对象,体现其多态性。1、#includeusing namespace std;void max() int a,b; cout请输入两个数:ab; if(ab) coutb aendl; else couta bendl;int main() max(); return 0;2、#includeusin

7、g namespace std;void max(int a,int b) if(ab) coutaendl; else coutbb & ac) coutac) coutbendl; else coutcendl;int main() max(2,5); max(7,5,3); return 0;3、#includeusing namespace std;void max(int a,int b,int c=0) if(ab & ac) coutac) coutbendl; else coutcendl;int main() max(2,5); max(7,5,3); return 0;4、

8、#includeusing namespace std;void swap1(int a,int b) int temp; temp=a; a=b; b=temp;void swap2(int *a,int *b) int temp; temp=*a; *a=*b; *b=temp;void swap3(int &a,int &b) int temp; temp=a; a=b; b=temp;int main() int x,y; x=5;y=7; swap1(x,y); coutx=x y=yendl; x=5;y=7; swap2(&x,&y); coutx=x y=yendl; x=5;

9、y=7; swap3(x,y); coutx=x y=yendl; return 0;5、#include#include using namespace std;class studentprivate: int num; string name; int age; char sex;public: void set() cout请输入:学号,姓名,年龄,性别(f or m)numnameagesex; void display() cout学号:numendl; cout姓名:nameendl; cout年龄:ageendl; cout性别:sexendl; ;int main() stu

10、dent s; s.set(); s.display(); return 0;6、#include#include using namespace std;class studentprivate: int num; string name; int age; char sex;public:/* void set() cout请输入:学号,姓名,年龄,性别(f or m)numnameagesex; */ student(int num,string name,int a,int s) cout调用构造函数 num=numnum=num; this-name=name; age=a; sex

11、=s; 天猫优惠券,我就要券 void display() cout学号:numendl; cout姓名:nameendl; cout年龄:ageendl; cout性别:sexendl; student() cout析构函数 学号:numendl; ;int main() student s(1001,张三,25,f),s1(1002,李四,24,m); /s.set(); s.display(); s1.display(); return 0;7、#include#include using namespace std;class studentprivate: int num; stri

12、ng name; int age; char sex;public:/* void set() cout请输入:学号,姓名,年龄,性别(f or m)numnameagesex; */ student() cout调用构造函数 num=0endl; num=0; name=; age=18; sex=f; student(int num,string name,int a,int s) cout调用构造函数 num=numnum=num; this-name=name; age=a; sex=s; void display() cout学号:numendl; cout姓名:nameendl;

13、cout年龄:ageendl; cout性别:sexendl; student() cout析构函数 学号:numendl; ;int main() student s(1001,张三,25,f),s1(1002,李四,24,m),s2; /s.set(); s.display(); coutendl; s1.display(); coutendl; s2.display(); coutendl; return 0;8、#include#include using namespace std;天猫优惠券,我就要券class studentprivate: int num; string nam

14、e; int age; char sex;public: student(int num=0,string name=,int a=18,int s=f) cout调用构造函数 num=numnum=num; this-name=name; age=a; sex=s; void display() cout学号:numendl; cout姓名:nameendl; cout年龄:ageendl; cout性别:sexendl; student() cout天猫优惠券,我就要券 学号:numendl; ;int main() student s(1001,张三,25,f),s1(1002,李四,2

15、4,m),s2; /s.set(); s.display(); coutendl; s1.display(); coutendl; s2.display(); coutendl; return 0;9、#include#include using namespace std;class studentprivate: int num; string name; int age; char sex;public: student(int num=0,string name=,int a=18,int s=f) cout调用构造函数 num=numnum=num; this-name=name;

16、age=a; sex=s; void display() cout学号:numendl; cout姓名:nameendl; cout年龄:ageendl; cout性别:sexendl; student() cout析构函数 学号:numendl; ;int main() student s3=student(1001,张三,25,f),student(1002,李四,24,m); for (int i=0;i3;i+) 天猫优惠券,我就要券 si.display(); coutdisplay(); coutendl; delete p; return 0;10、#include#includ

17、e using namespace std;class studentprivate: int num; string name; int age; char sex;public: student(int num=0,string name=,int a=18,int s=f) cout调用构造函数 num=numnum=num; this-name=name; age=a; sex=s; student(student& s) 天猫优惠券,我就要券 num=s.num; name=s.name; age=s.age; sex=s.sex; void display() cout学号:num

18、endl; cout姓名:nameendl; cout年龄:ageendl; cout性别:sexendl; student() cout析构函数 学号:numendl; ;int main() student s1(1001,张三,25,f); student s2(s1); s1.display(); s2.display(); return 0;11、#include#include using namespace std;class studentprivate: int num; string name; float score; static float sum; static i

19、nt count;public: student(int num=0,string name=,float s=80) this-num=num; this-name=name; score=s; count+; void display() cout学号:numendl; cout姓名:nameendl; cout成绩:scoreendl; void total(); static float average();float student:sum=0.0;int student:count=0;void student:total() sum+=score;float student:av

20、erage() return sum/count;int main() student s3=student(1001,张三,87),student(1002,李四),student(1003,王五,90); for (int i=0;i3;i+) si.total(); cout平均成绩:student:average()endl; return 0; 12、#include/ #include / using namespace std;class Timeprivate: int hour; int minute; int second;public:Time(int h=12,int

21、m=0,int s=0) hour=h; minute=m; second=s;friend void display(Time&);void display(Time& t) coutt.hour时t.minute分t.second秒endl;int main() Time t,t1(13,12,22); display(t); display(t1); return 0; 13、(1)/方法1:多次重载+#include/ #include / using namespace std;class Complexprivate: float real; float image;public:

22、Complex(float real,float image) this-real=real; this-image=image;Complex() real=0; image=0;friend Complex operator+(Complex &a,Complex &b);friend Complex operator+(Complex &a,float b);friend Complex operator+(float a,Complex &b);friend ostream& operator(istream& input,Complex a);Complex operator+(Co

23、mplex &a,Complex &b) return Complex(a.real+b.real,a.image+b.image);Complex operator+(Complex &a,float b) return Complex(a.real+b,a.image);Complex operator+(float a,Complex &b) return Complex(b.real+a,b.image);ostream& operator0) outputa.real+a.imageiendl; else outputa.reala.imagei(istream& input,Complex a) inputa.reala.image; return input;int main() Complex a(3,4),b(1,2),c,d,e,f; c=a+b; d=a+5; e=3+b; coutcf; coutfendl; return 0;/方法2:使用转换构造函数实现#includeclass Complexprivate: float real; float image;public:Complex(float real,float

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1