您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 面向对象程序设计编程题复习及其答案
《面向对象程序设计》复习题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、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、(构造函数的重载)在题6基础上增加一个默认构造函数,实现构造函数的重载8、将题6用带默认参数的构造函数实现。9、(对象数组和对象的动态建立及释放)在题8基础上,实现如下主函数:(1)在主函数中定义一个包含三个学生的数组,并初始化之。(2)在主函数中定义一个student类指针p并用new运算符分配动态内存(3)用delete删除p指向的动态内存。(4)观察构造函数和析构函数的调用。10、(复制构造函数)在题8基础上新增加一个复制构造函数,并主函数新增复制构造对象。11、(静态成员)定义一个student类,数据成员包括:学号num,姓名name,成绩score,累加总分sum,累计人数count。成员函数包括:构造函数统计人数count;(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;cinf;coutfendl;return0;}(2)定义一个Time类,实现对“++”的前缀、后缀重载。P134i++:单目运算符天猫优惠券,我就要券14、(单继承及派生类构造函数)(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类定义成虚基类,实现用虚继承解决二义性。17、(抽象类及多态性)定义一个抽象基类Shape,由它派生出5个派生类,Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangel(三角形)。用虚函数分别计算几何图形面积,并求他们的和。要求定义一个基类指针,使它指向每一个派生类对象,体现其多态性。1、#includeiostreamusingnamespacestd;voidmax(){inta,b;cout请输入两个数:endl;cinab;if(ab)coutbaendl;elsecoutabendl;}intmain(){max();return0;}2、#includeiostreamusingnamespacestd;voidmax(inta,intb){if(ab)coutaendl;elsecoutbendl;}voidmax(inta,intb,intc){if(ab&&ac)coutaendl;elseif(bc)coutbendl;elsecoutcendl;}intmain(){max(2,5);max(7,5,3);return0;}3、#includeiostreamusingnamespacestd;voidmax(inta,intb,intc=0){if(ab&&ac)coutaendl;elseif(bc)coutbendl;elsecoutcendl;}intmain(){max(2,5);max(7,5,3);return0;}4、#includeiostreamusingnamespacestd;voidswap1(inta,intb){inttemp;temp=a;a=b;b=temp;}voidswap2(int*a,int*b){inttemp;temp=*a;*a=*b;*b=temp;}voidswap3(int&a,int&b){inttemp;temp=a;a=b;b=temp;}intmain(){intx,y;x=5;y=7;swap1(x,y);coutx=xy=yendl;x=5;y=7;swap2(&x,&y);coutx=xy=yendl;x=5;y=7;swap3(x,y);coutx=xy=yendl;return0;}5、#includeiostream#includestringusingnamespacestd;classstudent{private:intnum;stringname;intage;charsex;public:voidset(){cout请输入:学号,姓名,年龄,性别(form)endl;cinnumnameagesex;}voiddisplay(){cout学号:numendl;cout姓名:nameendl;cout年龄:ageendl;cout性别:sexendl;}};intmain(){students;();();return0;}6、#includeiostream#includestringusingnamespacestd;classstudent{private:intnum;stringname;intage;charsex;public:/*voidset(){cout请输入:学号,姓名,年龄,性别(form)endl;cinnumnameagesex;}*/student(intnum,stringname,inta,ints){cout调用构造函数num=numendl;this-num=num;this-name=name;age=a;sex=s;}天猫优惠券,我就要券voiddisplay(){cout学号:numendl;cout姓名:nameendl;cout年龄:ageendl;cout性别:sexendl;}~student(){cout析构函数学号:numendl;}};intmain(){students(1001,张三,25,'f'),s1(1002,李四,24,'m');isplay();coutendl;}student*p;p=newstudent(1003,王五,23,'f');p-display();coutendl;deletep;return0;}10、#includeiostream#includestringusingnamespacestd;classstudent{private:intnum;stringname;intage;charsex;public:student(intnum=0,stringname=,inta=18,ints='f'){cout调用构造函数num=numendl;this-num=num;this-name=name;age=a;sex=s;}student(student&s){num=;name=;age=;sex=;}voiddisplay(){cout学号:numendl;cout姓名:nameendl;cout年龄:ageendl;cout性别:sexendl;}~student(){cout析构函数学号:numendl;}};intmain(){students1(1001,张三,25,'f');students2(s1);();();return0;}11、#includeiostream#includestringusingnamespacestd;classstudent{private:intnum;stringname;floatscore;staticfloatsum;staticintcount;public:student(intnum=0,stringname=,floats=80){this-num=num;this-name=name;score=s;count++;}voiddisplay(){cout学号:numendl;cout姓名:nameendl;cout成绩:scoreendl;}voidtotal();staticfloataverage();};floatstudent::sum=;intstudent::count=0;voidstudent::total(){sum+=score;}floatstudent::average(){returnsum/count;}intmain(){students[3]={student(1001,张三,87),student(1002,李四),student(1003,王五,90)};for(inti=0;i3;i++){s[i].total();}cout平均成绩:student::average()endl;return0;}12、#include//#includestring//usingnamespacestd;classTime{private:inthour;intminute;intsecond;public:Time(inth=12,intm=0,ints=0){hour=h;minute=m;second=s;}friendvoiddisplay(Time&);};voiddisplay(Time&t){cout时分秒endl;}intmain(){Timet,t1(13,12,22);display(t);display(t1);return0;}13、(1)//方法1:多次重载+#include//#includestring//usingn
本文标题:面向对象程序设计编程题复习及其答案
链接地址:https://www.777doc.com/doc-7331418 .html