已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号 姓名 院(部) 专业考试时间:2010年01月 日-密-封-线-山东师范大学2009-2010学年第一学期期末考试试题(时间:120分钟 共100分) 课程编号:4111307 课程名称:面向对象程序设计 适用年级:07计本 学制: 4 适用专业:计算机科学与技术 试题类别: A 考生注意事项1、第一、二、三大题写在答题纸预留的表格中上。2、第四大题写在答题纸的预留位置。3、考试结束后,务必将试卷、答题纸一并交回。一、单项选择题下面每题的选项中,只有一个是正确的,请选择正确的答案填入答题纸中对应的题号后 (本题共25小题,每小题1分,共25分)。 1、当一个函数无返回值时,函数的类型应定义为( )。 A void B 任意 C int D无 2、作用域运算符的功能是( )。A 标识作用域的级别 B 指出作用域的范围C 给定作用域的大小 D 标识某个成员是属于哪个类 3、下列的( )是引用调用。A 形参是指针,实参是地址值 B 形参和实参都是变量C 形参是数组名,实参是数组名 D 形参是引用,实参是变量 4、( )不是构造函数的特征A 构造函数的名和类名相同 B 构造函数可以重载。C 构造函数可以设置默认值 D 构造函数必须指定类型说明。 5、下列( )不能作为类的成员。A 自身类对象的指针 B 自身类对象的引用C 自身类对象 D 另一个类的对象 6、重载函数在调用时选择的依据,( )是错误的。A. 参数个数 B 参数的类型C A或者B D 函数的类型7、下列静态成员的特性中,( )是错误的。A 说明静态成员时,要加修饰符staticB 静态数据成员要在类体外进行初始化C 引用静态数据成员时,要在静态数据成员名前加及作用域运算符D 静态数据成员不是所有对象所共用的8、已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( )是正确的。A p=f1B p=A:f1 C p=A:f1() D p=f1()9、运算符-*的功能是( )。A 用来表示指向对象指针对指向类成员指针的操作B 用来表示对象对指向类成员指针的操作C 用来表示指向对象指针对类成员的操作D 用来表示对象类成员的操作10、下列定义中,( )是定义指向数组的指针p.A int p5 B int (*p)5 C (int*)p5 D int *p 11、设p为一个指向类A数据成员m的指针,A1为A的一个对象。如果给m赋值5,( )为正确的。A A1.p=5B A1-p=5 C A1.*p=5 D *A1.p=5 12、已知print( ) 函数是一个类的常成员函数,它无返回值。下列表示中,( )是正确的。 A void print ( ) const B const void print ( ) C void const print ( ) D void print (const)13、说明const char * ptr; 中,ptr应该是( )。 A 指向字符常量的指针 B 指向字符的常量指针C 指向字符串常量的指针 D 指向字符串的常量指针14、派生类的对象对它的基类成员中( )是可以访问的。A 公有继承的公有成员 B 公有继承的私有成员C 公有继承的保护成员 D 私有继承的公有成员15、 下列对派生类的描述中,( )是错的。 A 一个派生类可以作为另一个派生类的基类 B 派生类至少有一个基类 C 派生类的成员除了它自己的成员以外,还包含了它的基类成员 D 派生类中继承的基类成员的访问权限到派生类保持不变16、对于 int * pa5; 的描述,( )是正确的。A pa是一个指向数组的指针,所指向的数组是5个int型元素。B pa是一个指向某数组中第5个元素的指针,该元素是int型变量。C pa5表示某个数组的第5个元素的值。D pa是一个具有5个元素的指针数组,每个元素是一个int型指针。17、 设置虚基类的目的是( )。A 简化程序 B 消除二义性 C 提高运行效率 D 减少目标代码 18、 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚函数的子对象初始化( )。A 与虚基类下的派生类个数有关 B 多次 C 二次 D 一次19、 下列函数中,( )不能重载。A 成员函数 B 非成员函数 C 析构函数 D 构造函数20、 关于动态联编的描述中,( )是错误的。A 动态联编是以虚函数为基础的B 动态联编是在运行时,确定所调用的函数代码的。C 动态联编调用函数操作是指向对象的指针或对象引用。D 动态联编是在编译时确定操作函数的。 21、关于虚函数的描述中,( )是正确的。A 虚函数是一个非satatic类的成员函数。B 虚函数是一个非成员函数。C 基类中说明了虚函数后,派生类中与其对应的函数可以不必说明为虚函数。D 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。 22、关于纯虚函数和抽象类的描述中,( )是错误的。A 纯虚函数是一种特殊的虚函数,它没有具体的实现。B 抽象类是指含有纯虚函数的类。C 一个基类中说明了纯虚函数,则其派生类不再是抽象类。D 抽象类一般只能作为基类来使用。 23、下列关于抽象类的使用中,( )是错误的。A 可以定义抽象类的对象 B 可以定义抽象类的指针C 可以定义抽象类的引用 D 可以定义抽象类的派生类学号 姓名 院(部) 专业考试时间:2010年01月 日-密-封-线- 24、派生类的构造函数的成员初始化列表中,不能包含( )。 A 基类的构造函数B 派生类中子对象的初始化C 基类的子对象的初始化D 派生类中一般数据成员的初始化25、关于new运算符的下列描述中,( )是错的。 A 它可以用来动态创建对象和对象数组; B 使用它创建的对象或对象数组可以使用delete运算符删除; C 使用它创建对象时要调用构造函数; D 使用它创建对象数组时,必须指定初始值。 二、填空题将正确的答案填入答题纸相应的题号后。(本题共 3小题,5个空,每空2分,共10分)1. 面向对象的程序设计有三大特征,它们是封装、 (1 ) 、 (2 ) 。2、类是用户定义的类型,具有类类型的变量称作 (3) 。3、在面向对象的程序设计中,通过 (4)实现数据隐藏;通过(5)实现代码的复用。 三、分析程序的执行结果题分析程序的执行结果,将结果按程序运行时输出形式填在答题纸对应的题号后 (本题共5小题,每题4分,共20分)。1、 #include class M public: M() x=y=0; M(int i, int j) x=i; y=j; void copy(M *m); void setxy(int i, int j) x=i; y=j; void print() coutx,yx; y=m-y;void fun(M m1, M *m2) m1.setxy(12, 15); m2-setxy(22,25); void main() M p(5, 7), q; q.copy(&p); fun(p, &q); p.print(); q.print(); 2、#include class Mpublic:M()a=b=0; M(int i,int j)a=i;b=j;void print() couta,bt;private:int a,b;void main() M m24; int x=10,y=10; for(int i=0;i2;i+) for(int j=0;j4;j+) mij=M(x+=2,y+=10); M (*pm)4(m); for(i=0;i2;i+) coutendl; for(int j=0;j4;j+)(*(*(pm+i)+j).print();/用指针的方式存取数组的第ij个元素 coutendl;3、#include #include class B public:B(char *s, double n)strcpy(name,s);b=n;coutConstructor. n;B()coutDefaultn;B()coutDestructor nameendl;void getb(char *s, double& n) strcpy(s,name); n=b;private:char name80;double b;void main()B* p;double n;char s80;p=new B3;p0=B(Ma,4.8);p1=B(Wang,3.6);p2=B(Li,3.1);for(int i=0;i3;i+)学号 姓名 院(部) 专业考试时间:2010年01月 日-密-封-线- pi.getb(s,n); couts,nendl;delete p;4、#include class Apublic:A(int i,int j) a=i;b=j;void Move(int x,int y) a+=x;b+=y;void Show() cout(a,b)endl;private:int a,b;class B:public Apublic:B(int i,int j,int k,int l):A(i,j),x(k),y(l)void Show() coutx,yendl;void fun() Move(3,5);void f1() A:Show();private:int x,y;void main()A e(1,2);e.Show();B d(3,4,5,6);d.A:Show();d.B:Show();d.f1();5、#include class A public:A(int i)a=i;coutcon. An;void print()coutaendl;A()coutdes. An;private:int a;class B1 : virtual public A public:B1(int i, int j) : A(i)b1=j;coutcon. B1n;void print()A:print(); coutb1endl;B1()coutdes. B1n;private:int b1;class B2 : virtual public A public:B2(int i, int j) : A(i)b2=j;coutcon. B2n;void print()A:print(); coutb2endl;B2()coutdes. B2n;private:int b2;class C : public B1, public B2 public:C(int i, int j, int k, int l) : B1(i,j), B2(i,k), A(i) c=l; coutcon. Cendl; void print() B1:print(); B2:print();coutcendl; C()coutdes. Cendl;private:int c;void main()C c1(5,7,3,6);c1.print();四、程序设计题将编写的程序标上小题题号,写在答题纸上。本题共4小题, 45分。1编写一个程序,设计一个产品类Product,其定义如下: Class Product char *name; /产品名称int price; /产品单价int quantity; /剩余产品数量public: Product(char *n,int p,int q); /构造函数 Product(); /析构函数 void buy(int money); /购买产品 void get() const; /显示剩余产品数量;并用数据进行测试。(10分)学号 姓名 院(部) 专业考试时间:2010年01月 日-密-封-线-2. 以面向对象的方法设计一个类,此类包含3个私有数据:unlead,lead(无铅汽油和有铅汽油)以及total(当天总收入,无铅汽油的价格是17元/公升,有铅汽油的价格是16元/公升),请以构造函数方式建立此值。试输入某天所加的汽油量,本程序将列出加油站当天的总收入。(10分)3. 编写一个程序计算两个给定长方形的面积,其中在设计类成员函数addarea()(用于计算两个长方形的总面积)时使用对象作为参数。(12分)4. 编一个程序计算正方体,球体和圆柱体的表面积和体积。要求:抽象出一个公共基类container为抽象类,在其中定义求表面积和体积的纯虚函数。抽象类中定义一个公共的数据成员radius,此数值可以作为球体的半径、正方体的边长、圆柱体底面圆半径。由该抽象类派生出的三个类,都有求表面积和体积的实际定义。键盘输入radius的值后,可以输出这3种立方体的面积。(13分)学号 姓名 院(部) 专业考试时间:2010年01月 日-密-封-线- 山东师范大学2009-2010学年第一学期期末考试答题纸课程编号:4111307 课程名称:面向对象程序设计 适用年级:07计本 学制: 4 适用专业:计算机科学与技术 试题类别:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商业航天发射成本控制与卫星互联网组网进度评估报告
- 2025卫星互联网星座组网进度与地面终端兼容性报告
- 行政管理聘任合同范本
- 物业业主装修合同范本
- 2025年新能源汽车车规级传感器在新能源汽车智能车载产业布局中的应用报告
- 2024~2025学年黑龙江省佳木斯市富锦市铁路中学、锦山中学九年级下学期5月月考物理试卷
- 2024~2025学年湖南省冷水江市多校联考八年级下学期期末考试物理试卷
- 2024~2025学年河南省周口市沈丘县两校联考八年级下学期6月期末考试物理试卷
- 2024~2025学年河北省保定市顺平县八年级上学期期末物理试卷
- 2025年中级银行从业真题及答案
- 《快乐的小河》新课标课件(第二课时)
- 2025年度食品安全员考试试题(答案+解析)
- 2025年河北廊坊霸州市公安局公开招聘警务辅助人员100名考试笔试备考试题及答案解析
- 2025年氧化铝制取工职业技能鉴定经典试题含答案
- 企业并购方案协议书
- 《海滨小城》教学课件(第二课时)
- 下载食品安全法课件
- 流态固化土工程结算合同模板
- 2025广东广州市海珠区凤阳街道第四批招聘雇员5人考试笔试参考题库附答案解析
- 2025年新版超声产筛考试试题及答案
- 侍茄师初级练习测试卷
评论
0/150
提交评论