川大c++期末复习题.docx
- 文档编号:26985133
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:18
- 大小:24.63KB
川大c++期末复习题.docx
《川大c++期末复习题.docx》由会员分享,可在线阅读,更多相关《川大c++期末复习题.docx(18页珍藏版)》请在冰豆网上搜索。
川大c++期末复习题
C++面向对象程序设计模拟试题三
一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中,只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面有关重载函数的描述中,正确的是()。
A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同
C)重载函数一般具有不同的形参表D)重载函数名可以不同
2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
A)void~MyClass();B)~MyClass(intn);
C)MyClass();D)~MyClass();
3.()是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
A)模板B)类C)对象D)函数
4.下面关于静态成员函数的途术中错语的是()。
A)静态成员函数可以有返回值B)静态成员函数含有this指针
C)静态成员函数可以具有指针参数D)静态成员函数可有具有返回值类型
5.定义类模板时要使用关键字()。
A)privateB)publicC)deleteD)template
6.下列是重载乘法运算符的函数原型声明,其中错误的是()。
A)friendMyClassoperator*(double,double);
B)friendMyClassoperator*(double,MyClass);
C)friendMyClassoperator*(MyClass,double);
D)friendMyClassoperator*(MyClass,MyClass);
7.以下()成员函数表示纯虚函数。
A)virtualintfun(int)B)voidfun(int)=0
C)virtualvoidfun()=0D)virtualvoidfun(int){}
8.关于纯虚函数,下列表述中正确的是()。
A)纯虚函数的声明总是以"=0"结束B)含有纯虚函数的类可以定义对象
C)含有纯虚函数的类是抽象类D)上面都是错误的
9.()解决二义性问题。
A)只能使用作用域分辨操作符B)只能使用虚基类
C)使用作用域分辨操作符或虚基类D)上面都不能
10.实现编译时的多态性要使用()。
A)重载函数B)析构函数C)构造函数D)虚函数
二、填空题(本大题共5小题,每小题2分,共10分)不写解答过程,将正确的答案写在每小题的空格内。
错填或不填均无分。
1.定义一个函数名为fun,返回值为int,没有参数的纯虚函数的声明是()。
2.定义静态成员函数应使用关键字()。
3.在C++中,如果类的名称是CTest,则此类的构造函数名称为()。
4.在类的对象被创建时,()函数会被自动调用。
5.用class声明的类中数据成员和成员函数的默认访问级别为()。
三、程序分析题(本大题共6小题,每小题5分,共30分)给出下面各程序的输出结果。
1.阅读下面程序,写出输出结果。
#include
usingnamespacestd;
classA
{
public:
A(){cout<<"A()"< ~A(){cout<<"~A()"< }; intmain() { Aa,*p=newA; deletep; cout<<"end"< return0; } 上面程序的输出结果为: 2.阅读下面程序,写出输出结果。 #include usingnamespacestd; classArray { private: int*elem; intsize; public: Array(inta[],intsz): elem(a),size(sz){} intGetSize()const{returnsize;} int&operator[](intpos){returnelem[pos-1];} }; intmain() { inta[]={1,2,3,4,5}; Arrayar(a,5); ar[1]=8; for(inti=1;i<=ar.GetSize();i++) cout< cout< return0; } 上面程序的输出结果为: 3.阅读下面程序,写出输出结果。 #include usingnamespacestd; classA { public: virtualvoidShow()const{cout<<"A"< }; classB: publicA { public: voidShow()const{cout<<"B"< }; voidFun1(Aobj){obj.Show();} voidFun2(constA&obj){obj.Show();} intmain() { Bb; Fun1(b); Fun2(b); A*p=newB; p->A: : Show(); p->Show(); return0; } 上面程序的输出结果为: 4.阅读下面程序,写出输出结果。 #include usingnamespacestd; template ElemTypef(ElemTypex) { returnx*(ElemType)5.1; } template voidf(ElemTypex,ElemTypey) { x=x*1.1; y=y*1.1; cout< cout< } intmain() { cout< f(1,2); f(1.0,2.0); return0; } 上面程序的输出结果为: 5.阅读下面程序,写出输出结果。 #include usingnamespacestd; classA { private: inta; public: A(intm=1): a(m){} voidShow(){cout<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 期末 复习题