版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、选择题(每小题2 分,共 40 分)1、C+是(A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( )。A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精3、若定义: string str; 当语句 cinstr; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是 str=()。B. MicrosoftA. Microsoft Visual Studio 6.0!C. Microsoft Vis
2、ualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明: void testDefaulParam(int a,int b=7,char z=*); 下面函数调用中,不合法的是( )。A. testDefaulParam(5);B. testDefaulParam(5,8);第 1 页C. testDefaulParam(5,#);D. testDefaulParam(0,0,*)5、下列语句中,将函数 int sum(int x, int y) 正确重载的是( )。A. float sum(int x, int y);C. float sum(float
3、 x, float y);6、下列表示引用的方法中, (已知: int a=1000;B. int sum(int a, int b);D. double sum(int y, int x); )是正确的。A. int &x=a;B. char &y; C. int &z=1000;D. float &t=&a;并且要求加快执行速度,7、在一个函数中, 要求通过函数来实现一种不太复杂的功能, 选用( )。A. 内联函数 B. 重载函数 C. 递归调用D. 嵌套调用&下列有关C+类的说法中,不正确的是()A. 类是一种用户自定义的数据类型B. 只有类中的成员函数或类的友元函数才能存取类中的私有成
4、员C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的9、已知X类,贝U当程序执行到语句:X array3;时,调用了( )次构造函数。A. 0B. 1C. 2D. 310、 下面说法中,正确的是()A. 一个类只能定义一个构造函数,但可以定义多个析构函数B. 一个类只能定义一个析构函数,但可以定义多个构造函数C. 构造函数与析构函数同名,只要名字前加了一个求反符号()D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是 void类 型也不可以11、已知: print( )函数是一个类的常成员函数,它无返回值
5、,下列表示中, ( )是 正确的。A. void print( ) const;B. const void print( );D. void prin t(c on st); )A. 公用继承时基类中的B. 公用继承时基类中的C. 公用继承时基类中的D. 私有继承时基类中的13、设置虚基类的目的是(A. operator*(i.operator+(),k)C. i.operator+().operator*(k)19、下面对模板的声明,正确的是(A. templateC. templatevclass T1, class T2B. operator*(operator+(i),k)D. k.o
6、perator*(operator+(i)oB. templatevclass T1, T2D. templatevclass T1; class T2C. void const prin t();12、下面描述中,表达错误的是( public成员在派生类中仍是public的 private成员在派生类中仍是private的 protected成员在派生类中仍是 protected的 public成员在派生类中是private的)0A. 简化程序B.消除二义性C.提高运行效率 D.减少目标代码14、下面()的叙述不符合赋值兼容规则。A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值
7、给派生类的对象C. 派生类的对象可以初始化基类的对象D. 派生类的对象的地址可以赋值给指向基类的指针15、 关于虚函数的描述中,()是正确的。A. 虚函数是一个static类型的成员函数B. 虚函数是一个非成员函数C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型16、下面关于友兀的描述中,错误的是()oA. 友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成员函数都是这个类的友元函数C. 友元可以提高程序的运行效率D. 类与类之间的友元关系可以继承17、下列关于静态数据成员的说法,不正确的是()oA. 类中
8、定义的公用静态数据成员,可以通过类的对象来访问B. 类中定义的所有静态数据成员,都必须在类外初始化C. 静态数据成员不是所有对象所共用的D. 普通的成员函数可以直接访问类中的静态数据成员18、如果表达式+i*k中的“ + ”和“ *”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为()020、下列的各类函数中,()不是类的成员函数A.构造函数B.析构函数C.友元函数 D.复制构造函数二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)1、 类和对象的关系可表述为:类是对象的,而对象则是类的2、 静态成员函数没有隐含的,所以,在C+程序中,静态成员函数主要用来 访
9、问静态数据成员,而不访问非静态成员。3、在图1中,A , B, C, D , E, F均是类,其中属于单继承的派生类有 ,属于多继承的派生类有 ,类F的基类有,类A的派生类有。ABC图1类的继承层次图4、 如果只想保留公共基类的一个复制,就必须使用关键字 把这个公共基 类声明为虚基类。5、 从实现的角度来讲,多态性可以划分为两类: 和。6、 如果一个类包含一个或多个纯虚函数,则该类称为 。7、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句。&列出C+中的两种代码复用方式: 和。9、 析构函数的作用是 。10、 假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:
10、 。11、 后置自增运算符“ +”重载为类的成员函数(设类名为A)的形式为:三、阅读下面4个程序,写出程序运行时输出的结果。(共13分)1、#in cludeviostream using n amespace std;void fun (i nt & a, i nt &b)in t p;p=a; a=b; b=p;void excha nge(i nt &a, int &b, int &c) if( ab ) fun (a, b);if( ac ) fun(a, c);if( bc ) fun(b, c);int mai n() int a=12,b=89,c=56;excha nge(a,
11、 b, c);coutvva=vvavv,b=vbvv,c=vvcvve ndl;return 0;2、第4页#include using namespace std;class A public:A( ) cout A; ;class B public:B( ) cout B; ;class C: public A public:C( ) cout C; private:B b;int main ( ) C obj;return 0;3、#include using namespace std;class Apublic:A()coutA:A() called.n; virtual A()c
12、outA:A() called.n; ;class B: public Apublic:B(int i) coutB:B() called.n;buf=new chari;virtual B() delete buf;coutB:B() called.n;private:char *buf;int main()A *a=new B(15);delete a; return 0;4、#i nclude using n amespace std; class Apublic:void f()coutCall As fun ctio n f()e ndl;class Bpublic:void f()
13、 coutCall Bs fun ctio n f()e ndl; void g() coutCall Bs fun ctio n g()e ndl; ;class C: public A, public Bpublic:void g()coutCall Cs function g()endl; ;int mai n() C cc;cc.B:f();cc.B:g();cc.g(); return 0;一、单项选择题(每小题1-5. C D B C C11-15. A B B B C二、填空题(前14个空,2分,共40分)6-10. A A D D B16-20. D C B C C每空1分,
14、实例后 3个空,每空2分,共20分)1.抽象2 .this指针3.ED、FA、B、C、D ED、F4.virtual5静态多态性动态多态性6.抽象类7.frie nd void fun(A &a)8.继承组合或模板9.在对象被系统释放之前做一些内存清理工作10.A(const A&)11. A operator+(i nt)、阅读程序(13分)1、a=89,b=56,c=122、ABC3、A:A() called. B:B() called. B:B() called. A:A() called.4、Call Bs function f()1.2.3.Call Bs function g()C
15、all Cs fun ctio n g()、单项选择题(在每小题的备选答案中选出一个正确的答案。cout是10流库预定义的A类 B对象 C包含文件D常量类的定义如下,试问类B的对象占据内存多少整形单元空间int b; protected: int a; public: A(i nt n)int c; C 4每小题2分,共30分)class Aclass B: public AA 2B 3类的析构函数的作用是A 一般成员函数Ba=n; ; ;类的初始化 面向对象程序设计中的数据隐藏指的是A.输入数据必须输入保密口令C.对象内部数据结构上建有防火墙5.有如下的对类“ CSample的说明,其中C对
16、象的初始化D对象扫尾处理4.B .数据经过加密处理D .对象内部数据结构的不可访问性是错误的。第8页class CSample A. int a=23;B. CSample();public:C. CSample(int val);D. CSample();6. 拷贝(复制)构造函数的作用是A.进行数据类型的转换B .用对象调用成员函数C. 用对象初始化对象D .用一般类型的数据初始化对象7. C+对C语言作了很多改进,即从面向过程变成为面向对象的主要原因 是A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D.引进了类和对象的概念8. 下列不是描述类的成员函数的是A.构造函数B.析构函数C.友元函数D.拷贝构造函数9. 通常,拷贝构造函数的参数是A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名B.类B的成员即类A的成员10. 如果类A被说明成类B的友元,则 A.类A的成员即类B的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元11假定AB为一个类,则执行AB x;语句时将自动调用该类 的A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数12. 对于任何一个类,析构函数最多有个A. 0B. 1C. 2D. n13. 下列特性中,C与C+共有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版环保物流绿色包装运输合同规范3篇
- 二零二五版个人房产抵押贷款债权转让合同3篇
- 二零二五版财务会计岗位聘用合同9篇
- 二零二五版智能家居股份制合作合同范本3篇
- 二零二五年度钢结构工程钢筋加工与配送合同范本3篇
- 二零二五版工业4.0工厂生产承包服务合同模板3篇
- 二零二五年房产共有权份额转让产权买卖合同范本含份额调整方案3篇
- 二零二五版个人承包公司物流运输合作合同书6篇
- 二零二五版安徽省劳动合同解除争议调解服务合同2篇
- 二零二五年度能源股权转让居间服务合同范本2篇
- 大型活动联合承办协议
- 工程项目采购与供应链管理研究
- 2024年吉林高考语文试题及答案 (2) - 副本
- 拆除电缆线施工方案
- 搭竹架合同范本
- Neo4j介绍及实现原理
- 焊接材料-DIN-8555-标准
- 工程索赔真实案例范本
- 重症医学科运用PDCA循环降低ICU失禁性皮炎发生率品管圈QCC持续质量改进成果汇报
- 个人股权证明书
- 医院运送工作介绍
评论
0/150
提交评论