




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建师范大学软件学院2008级软件工程专业2009-2010学年第一学期期末考试卷(A卷)FinalExaminationPaper ForGrade2008FacultyofSoftware,FujianNormalUniversitySemester1,2009-2010AcademicYear(120minutes)Score from thisCourseC++Programming70﹪examScorefromModuleC++Programmingdaily-performan﹪30ceStudentNo.FinalScoreStudentNamePART Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Total-ScoreScore一、选择题(每题2分,共30分)1.d2.c3.b4.a5.b6.b7.d8.a9.c10.d11.c12.a13.b14.c15.bI.选择题(每题2分,共30分) Score Marker Checker第1页共13页1.下列符号中,不可以作为变量名的是 d 。A.list_p_9 B.PA123C.ready D.for下面的哪个保留字不能作为函数的返回类型?A.void B.int C.new D.long3.执行下面程序段的输出结果是 。intx=4,y=-55;if(x>0) if(x>10)cout<<”AA”;elsecout<<”BB”;else if(y<-8) if(y>-20)cout<<”CC”;elsecout<<”DD”;A.AA B.BB C.CC D.DD一个函数功能不太复杂,但要求被频繁调用,选用A.内联函数 B.重载函数 C.递归函数 D. 嵌套函数5.假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为 。A.3 B.4 C.6 D.9在公有继承的情况下,基类成员在派生类中的访问权限A.受限制 B.保持不变 C.受保护 D.不受保护已知一函数的原型是:intf(int,int=0,double=0.0);则下列函数中可以加以重载的是A.intf(int); B.intf(int,int); C.f(int,int,double); D.f(intdouble);下列关于静态数据成员的描述中正确的是第2页共13页A.静态数据成员是类的所有对象所共有的 B.静态数据成员要在构造函数内初始化C.类的每个对象有自己的静态数据成员 D.静态数据成员不能通过类的对象调用派生类的构造函数的成员初始化列表中,不能包含A.基类的构造函数。 B.派生类中对象成员的初始化。C.基类中对象成员的初始化。 D.派生类中一般数据成员的初始化。10.关于虚析构函数的下述描述中, 是错误的。基类中析构函数为虚析构函数,则派生类中的析构函数也为虚析构函数。B.虚析构函数能保证 delete运算符有效的释放基类及派生类对象。C.将析构函数定义为虚析构函数是因为类中有虚函数。 D.虚析构函数并不能实现动态联编。一个_________允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。A.函数模板 B.模板函数 C.类模板 D.模板类12.通过 调用虚函数时,采用动态绑定。A.对象指针 B.对象名 C.成员名限定 D. 派生类名下列虚基类的说明中,正确的是_________。A.classvirtualB:publicA B.classB:virtualpublicAC.virtualclassB:publicA D.classB:publicAvirtual14.下面是关于一个类的友元的说法,其中不正确的是 。第3页共13页A.友元函数可以访问该类的私有数据成员 B.友元的声明必须放在类的内部C.友元函数可以是类的成员函数 D.类与类之间的友元关系不能被继承假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:A.AB operator+(AB &a,AB &b) B.AB operator+(AB &a)C.operator+(AB a) D.AB &operator+()II.填空题(每空2分,共20分)Score Marker Checker1. 模板时构成 的基石。2.C++的异常处理机制是通过关键词 try、和 实现的。一个const对象只能访问______成员函数。重载“<<”操作符时,应声明为_______函数。利用应用程序向导AppWizard生成的单文档应用程序,一般包括四个基本类 、主框架窗口类、 和 。VisualC++创建的基于MFC的应用程序可以分为单文档应用程序、和 。III .程序填空(每空2分,共20分) Score Marker Checker1int*[row]第4页共13页int[column]*(*(p+i)+j)[]p[i]template<classT>Ttemplate<classT>TBase<T>::complex&c1real+c1.real,image+c1.imagecomplex&c1,complex&c2动态分配一个二维数组,存放若干元素,并以指针的形式输出#include<iostream.h>constintrow=3;constintcolumn=3;intmain(){ int**p;// 二级指针p=new int*[row] ;for(inti=0;i<row;i++)p[i]=new int[column] ;for(i=0;i<row;i++)for(intj=0;j<column;j++)p[i][j]=i*j;for(i=0;i<row;i++)第5页共13页for(intj=0;j<column;j++)cout<< *(*(p+i)+j) <<"";for(i=0;i<row;i++)delete []p[i] ;delete[]p;return0;}#include<iostream.h>template<classT>classBase{public:Base(Ti,Tj){x=i;y=j;}Tsum();private:T x,y;};template <classT>TBase<T>:: sum() //sum函数的定义{returnx+y;}voidmain()第6页共13页{Base<double>obj2(3.3,5.5);cout<<obj2.sum()<<endl;Base<int>obj1(3,5);cout<<obj1.sum()<<endl;}3.#include<iostream.h>classcomplex{public:complex(){real=image=0;}complex(floata,floatb){real=a;image=b;}complexoperator+( complex&c1 )// 重载为成员函数{returncomplex( real+c1.real,image+c1.image );}第7页共13页friend complex operator-( complex &c1,complex&c2 )// 重载为友元函数{returncomplex(c1.real-c2.real,c1.image-c2.image);}private:floatreal;floatimage;};IV.写出下列程序的运行结果 (每题5分,共10分)Score Marker Checker1.#include<iostream.h>classTest{public:Test(){a=10;cout<<"TestConstructor"<<endl;}~Test(){cout<<"TestDestructor"<<endl;}inta;};第8页共13页classTest1{public:Test1(intx){a=x;cout<<"Test1Constructor"<<endl;}inta;~Test1(){cout<<"Test1Destructor"<<endl;}};classTest2{public:Test2(intx,inty):n(x),m(y){cout<<"Test2Constructor"<<endl;}voidDisplay(){cout<<"n="<<n.a<<endl;cout<<"m="<<m<<endl;cout<<"t="<<t.a<<endl;}~Test2(){cout<<"Test2Destructor"<<endl;}private:intm;第9页共13页Test1n;Testt;};intmain(){Test2t2(3,5);t2.Display();return0;}2.#include<iostream.h>classA0{public:virtual~A0(){cout<<"DestructorFunctionA0::~A0iscalled"<<endl;}};第10页共13页classB0:publicA0{public:virtual~B0(){cout<<"DestructorFunctionB0::~B0iscalled"<<endl;}};classC0:publicB0{char*pid;public:C0(intk){pid=newchar[k];}virtual~C0(){delete[]pid;cout<<"DestructorFunctionC0::~C0()iscalled"<<endl;}};voidfunction(A0*planta){deleteplanta;}voidmain()第11页共13页{A0*planta=newC0(20);function(planta);}Ⅴ.写程序(6+14=20分) Score Marker Checker假设文件data.txt中存放有5个数据:920-130,请用输入文件流打开该文件,读入数据到数组中存放,并用冒泡法进行排序,把排序后的结果分别输出到显示器屏幕和write.txt 文件中。第12页共13页2.设计一个类 point,表示二维坐标体系中的任意一点,把 point类设计为基类,含
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB15∕T 3398-2024 《沿黄灌区盐斑地块快速改良技术规程》
- 调试考试题及答案
- 智慧教育合作协定履行承诺书(7篇)
- 地狱乐理考试题及答案
- 地理国情考试题及答案
- 医学护理类生理考试题库及答案
- 农产品供应链质量保证及免责条款协议
- 固定资产管理清单资产盘点与报废流程
- 平安养老护理面试题库及答案
- 党课筛选考试题及答案
- 城市轨道交通调度指挥高职PPT完整全套教学课件
- 高职《高等数学》说课稿
- 预防青少年犯罪课件
- TSZUAVIA 009.1-2019 多旋翼无人机系统实验室环境试验方法 第1部分:通用要求
- GB/T 13993.2-2002通信光缆系列第2部分:核心网用室外光缆
- 综合布线系统-第2版第3章-接续设备
- 五年级上册英语课件-Unit 4《Hobbies》|译林版
- 国际商务文化与礼仪课件
- 人工智能导论课件
- 部编版(人教版)三年级语文上册、下册教材解析及教学建议课件
- 危险化学品安全生产技术培训教程(-)课件
评论
0/150
提交评论