面向对象程序设计C期末试卷及标准答案.docx

上传人:h**** 文档编号:26673765 上传时间:2022-07-18 格式:DOCX 页数:12 大小:15.39KB
返回 下载 相关 举报
面向对象程序设计C期末试卷及标准答案.docx_第1页
第1页 / 共12页
面向对象程序设计C期末试卷及标准答案.docx_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《面向对象程序设计C期末试卷及标准答案.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计C期末试卷及标准答案.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象程序设计C期末试卷及标准答案 面向对象程序设计C+期末考试试卷(A) 班级:姓名:学号:分数: 试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。 (答题纸在本套试卷的第10页上) 一、选择题(每小题2分,共40分) 1、C+是()。 A. 面向对象的程序设计语言 B. 面向过程的程序设计语言 C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言 D. 非结构化的程序设计语言 2、面向对象程序设计思想的主要特征中不包括()。 A. 封装性 B. 多态性 C. 继承性 D. 功能分解,逐步求精 3、若定义:string str; 当语句cinstr;

2、 执行时,从键盘输入: Microsoft Visual Studio 6.0! 所得的结果是str=()。 A. Microsoft Visual Studio 6.0! B. Microsoft C. Microsoft Visual D. Microsoft Visual Studio 6.0 4、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z=*); 下面函数调用中,不合法的是()。 A. testDefaulParam(5); B. testDefaulParam(5,8); C. testDefaulParam(5,#);

3、 D. testDefaulParam(0,0,*); 5、下列语句中,将函数int sum(int x, int y)正确重载的是()。 A. float sum(int x, int y); B. int sum(int a, int b); C. float sum(float x, float y); D. double sum(int y, int x); 6、下列表示引用的方法中,()是正确的。 已知:int a=1000; A. int &x=a; B. char &y; C. int &z=1000; D. float &t=&a; 7、在一个函数中,要求通过函数来实现一种不太

4、复杂的功能,并且要求加快执行速度,选用()。 A. 内联函数 B. 重载函数 C. 递归调用 D. 嵌套调用 8、下列有关C+类的说法中,不正确的是()。 A. 类是一种用户自定义的数据类型 B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员 C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的 D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的 9、已知X类,则当程序执行到语句:X array3;时,调用了()次构造函数。 A. 0 B. 1 C. 2 D. 3 10、下面说法中,正确的是() A. 一个类只能定义一个构造函数,但可以定义多个析构函数 B. 一个类

5、只能定义一个析构函数,但可以定义多个构造函数 C. 构造函数与析构函数同名,只要名字前加了一个求反符号() D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void 类型也不可以 11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。 A. void print( ) const; B. const void print( ); C. void const print( ); D. void print(const); 12、下面描述中,表达错误的是() A. 公用继承时基类中的public成员在派生类中仍是public的 B. 公用

6、继承时基类中的private成员在派生类中仍是private的 C. 公用继承时基类中的protected成员在派生类中仍是protected的 D. 私有继承时基类中的public成员在派生类中是private的 13、设置虚基类的目的是()。 A. 简化程序 B. 消除二义性 C. 提高运行效率 D. 减少目标代码 14、下面()的叙述不符合赋值兼容规则。 A. 派生类的对象可以赋值给基类的对象 B. 基类的对象可以赋值给派生类的对象 C. 派生类的对象可以初始化基类的对象 D. 派生类的对象的地址可以赋值给指向基类的指针 15、关于虚函数的描述中,()是正确的。 A. 虚函数是一个sta

7、tic类型的成员函数 B. 虚函数是一个非成员函数 C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数 D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型 16、下面关于友元的描述中,错误的是()。 A. 友元函数可以访问该类的私有数据成员 B. 一个类的友元类中的成员函数都是这个类的友元函数 C. 友元可以提高程序的运行效率 D. 类与类之间的友元关系可以继承 17、下列关于静态数据成员的说法,不正确的是()。 A. 类中定义的公用静态数据成员,可以通过类的对象来访问 B. 类中定义的所有静态数据成员,都必须在类外初始化 C. 静态数据成员不是所有对象所共用的 D.

8、 普通的成员函数可以直接访问类中的静态数据成员 18、如果表达式+i*k中的“+”和“*”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为()。 A. operator*(i.operator+(),k) B. operator*(operator+(i),k) C. i.operator+().operator*(k) D. k.operator*(operator+(i) 19、下面对模板的声明,正确的是()。 A. template B. template C. template D. template 20、下列的各类函数中,()不是类的成员函数 A. 构造函数 B

9、. 析构函数 C. 友元函数 D. 复制构造函数 二、填空题(前14个空,每空1分,后3个空,每空2分,共20分) 1、类和对象的关系可表述为:类是对象的,而对象则是类的。 2、静态成员函数没有隐含的,所以,在C+程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。 3、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有,属于多继承的派生类有,类F的基类有,类A的派生类有。 A B C D E F 图1 类的继承层次图 4、如果只想保留公共基类的一个复制,就必须使用关键字把这个公共基类声明为虚基类。 5、从实现的角度来讲,多态性可以划分为两类:和。 6、如果一个类包

10、含一个或多个纯虚函数,则该类称为。 7、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句。 8、列出C+中的两种代码复用方式:和。 9、析构函数的作用是。 10、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:。 11、后置自增运算符“+”重载为类的成员函数(设类名为A)的形式为:。 三、阅读下面4个程序,写出程序运行时输出的结果。(共13分) 1、 #include using namespace std; void fun(int &a, int &b) int p; p=a; a=b; b=p; void exchange(int &a, int &b,

11、 int &c) if( a(istream&, Complex&); /对“”运算符进行重载private: double real,imag; ; 要求:(1)写出该类的所有构造函数的类外定义代码。 (2)写出对运算符“+”、“”进行重载的运算符重载函数的定义。 2、(17分)下列Shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。 class Shape public: virtual double area()=0; ; double total(Shape *s , int n) double sum

12、=0.0; for(int i=0; iarea( ); return sum; 要求:(1)从Shape类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。 (2)写出main()函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)。 面向对象程序设计C+期末考试试卷(A)标准答案 班级:姓名:学号:分数: 一、单项选择题(每小题2分,共40分) 1-5C D B C C6-10A A D D B 11-15A B

13、B B C16-20D C B C C 二、填空题(前14个空,每空1分,后3个空,每空2分,共20分) 1抽象实例 2 this指针 3 E D、F A、B、C、D、E D、F 4 virtual 5静态多态性动态多态性 6. 抽象类 7. friend void fun(A &a) 8. 继承组合或模板 9. 在对象被系统释放之前做一些内存清理工作 10. A(const A&) 11. A operator+(int) 三、阅读程序(13分) 1、a=89,b=56,c=12 2、ABC 3、A:A() called. B:B() called. B:B() called. A:A()

14、called. 4、Call Bs function f() Call Bs function g() Call Cs function g() 四、编程题(共27分) 1、(10分) Complex:Complex()real=0;imag=0; Complex:Complex(double r)real=r; Complex:Complex(double r,double i)real=r;imag=i; Complex operator+(Complex &c1,Complex &c2) Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c; ostream& operator (istream& input,Complex& c) coutc.realc.imag; return input; 2、(17分) class Circle:public Shape

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁