面向对象程序设计计软02试卷_第1页
面向对象程序设计计软02试卷_第2页
全文预览已结束

下载本文档

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

文档简介

1、。装。订。线。2004 年2005 年第 2 学期 计科 02面象程序设计 试卷 A 卷时间共 120 分钟一、判断题。正确的在题号后的中标,错误的标。(每题 2 分,共 20 分)1、 问。2、 员。3、 4、 5、 6、 基类中被说明为 protected 和 private 的成员只能被其派生类的成员函数,不能被其它的函数访当将一个类 S 定义为另一个类 A 的类时,类 S 的所有成员函数都可以直接类 A 的所有成C+只支持面象的程设计。C+只支持两种参数传递方式:按地址传递和按值传递。派生类的成员函数可以直接基类的所有成员。如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型

2、相同,那么,这个函数自动继承基类中虚函数的特性。7、 8、 9、 10、 用 new 动态申请的内存是在堆中分配的,而不是在栈中分配的。C+中一个类的构造函数是可以进行重载的。 C+中允许多重继承。 一个类的静态成员函数中可以此类中的非静态成员。二、单项选择题。在每小题列出的选项中,只有一个是符合题目要求的,把正确选项填入题号后的 中。错选或未选均无分。(每题 2 分,共 40 分)1、 A.C.2、 面象程序设计中的数据隐藏指的是:输入数据必须输入口令B.数据经过加理对象数据结构上建有D.对象数据结构的不可性 有如下的对类“CSle”的说明,其中( )是错误的:class CSle A.B.

3、a=23;le();CSpublic:CSle(C.D.3、 A.C.4、 val); CSle(); 已知类 A 中的一个成员函数的说明如下:void Set(A &a); 则该函数的参数“A &a”的含义是:指向A 的指针为 aB. 将变量a 的地址赋给类 AD. 变量 A 与 a 按位与后作函数参数类 A 对象a 用作函数的形参 若类 A 和类B 的定义如下:则其中()是的表达式。A. void get();C. void make();B.k;D. k=m*n;5、 下面的主程序中,语句()是错误的。class A i;B(b,c = 0) :A(b) j=c; ;class A m,

4、 n;public:i,j; void get();class B:A i,j; protected:k;public:void make();void B:make() k=m*n; 得分阅卷人得分阅卷人题号12345678910总分得分阅卷人6、 A.C. 拷贝()构造函数的作用是:进行数据类型的转换用对象初始化对象B. 用对象调用成员函数D. 用一般类型的数据初始化对象7、 下列说法中,正确的说法是:所有的运算符都能被重载运算符被重载时,它们的优先级与结合性不会改变C. 当需要时,可以自定义一个运算符来进行重载D. 每个运算符都可以被重载成成员函数和函数8、 下面对结构或类中成员的中,不

5、正确的是:*poer.salary; (其中 poer 为指向类对象的指针)poer-salary; (其中 poer 为指向类对象的指针)x=worker.salary; (其中 worker 为具有类类型的对象)D. Location &rA=A1;x=rA.GetX(); (Location 为已定义的类,A 为对象)9、 C+对 C 语言作了很多改进,下列描述中()使得 C 语言发生了质变,即从面向过程变成又面向对象。A.C.A.C.增加了一些新的运算符规定函数说明必须用原型B. 允许函数重载,并允许设置默认参数D. 引进了类和对象的概念10、 ( )是给对象取一个别名,它引入了对象的

6、同一词。指针枚举 有关析构函数的说法不正确的是:B.D. 结构11、A.C.一个类中析构函数有且只有一个析构函数和构造函数一样可以有形参B. 析构函数无任何函数类型D. 析构函数作用是在对象被撤消时收回先前分配的内存12、 系统在调用重载函数时,往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是():A.C.A.B.C.D .A.C.A.C.A.C.A.C.参数个数函数名称 关于纯虚函数和抽象类的描述中,(B. 参数的类型D. 函数的类型13、)是错误的。纯虚函数是一种特殊的虚函数,它没有具体的实现抽象类是指具有纯虚函数的类一个基类中说明有纯虚函数,该基类的派生类一定不再是

7、抽象类抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出14、 下列选项中,(私有保护 下面选项中,(可以取代重载函数支持多种不同形参)不是 C十中用于限定控制权成员的修饰词。B.D.公有继承15、)不是函数模板的作用。B.D.创建一个通用功能的函数简化重载函数的函数体设计16、 有关构造函数的说法不正确的是(构造函数名字和类的名字相同构造函数无任何函数类型):B.D.构造函数在说明类变量时被调用一个类中构造函数有且只有一个17、 在公有派生中,基类的保护段成员在派生类中属于()B.D.公有成员保护成员 下列各叙述中,S 是 T 的子类型是(私有成员派生类无法继承基类的保护段成员18、):

8、A. S 是基类,T 是 S 的公有派生类C. T 是基类,S 是 T 的公有派生类B. S 是基类,T 是 S 的私有派生类D. T 是基类,S 是 T 公有数据成员19、 下面哪种技术是面A. 全局变量象的技术B.public:virtual void fun()=0; A(a) i=a; ;class B:public A j;public:void fun() coutB:fun()n; main(argc, char* argv)A a(5);A *pa;B b(7);B *pb;C.20、 D.)中:B.D.多态 定义在一个函数中的局部变量储在常量器区的(A. 全局数据区C. 代码

9、区堆区栈区三、按如下各小题要求回答问题。(共 10 分)1、 改错题。下面每中错误,并提出改正方法。下面的程序为一个指针所指空间赋值,并输出指针所指空间的值。#include main()* p;*p= 9;cout The value at p:*p;return 0;2、 请分析下面的程序并给出该程序的执行结果。四、简答题(每题 6 分,共 18 分)1、 面象的五大基本特是什么?2、 代码区、全局数据区、堆区、栈区分别用来什么数据?得分阅卷人#include stdafx.h #include iostream.h class AA a;public:AA() coutInitualizing AA!n; AA() coutDestroying AA!n;class BB b;AA p;public:BB() cout Now in BB()!n; BB() coutNow in BB()n;void main() BB X;coutEnding main!n;得分阅卷人信息/实现隐藏,并请举例说明。3、 说明五、按要求编写程序。(共 12 分)1、 编写一个函数模板,它返回

温馨提示

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

评论

0/150

提交评论