面向对象程序设计模拟题.docx
- 文档编号:16166065
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:32
- 大小:25.05KB
面向对象程序设计模拟题.docx
《面向对象程序设计模拟题.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计模拟题.docx(32页珍藏版)》请在冰点文库上搜索。
面向对象程序设计模拟题
《面向对象程序设计》模拟题
一.单选题
1.如果一个类中包含纯虚函数,则该类称为().
A.抽象类
B.虚基类
C.派生类
D.子类
[答案]:
A
2.在类中将show声明为不带返回值的纯虚函数,则正确的写法是().
A.virtualvoidshow()=0;
B.virtualshow()=0;
C.virtualvoidshow();
D.voidshow()=0virtual;
[答案]:
A
3.虚函数必须是类的().
A.构造函数
B.友元函数
C.成员函数
D.私有成员函数
[答案]:
C
4.下列关于虚函数的描述中,()是正确的.
A.虚函数一定不能有函数体
B.含有虚函数的类,不能定义该类对象
C.虚函数只能被重载,不能被继承
D.基类中声明虚函数后,派生类中可以不重载该虚函数
[答案]:
D
5.在C++中要实现动态联编,可以使用()调用虚函数.
A.类名
B.派生类指针
C.对象名
D.基类指针
[答案]:
D
6.下列函数中,不能说明为虚函数的是().
A.私有成员函数
B.公有成员函数
C.构造函数
D.析构函数
[答案]:
C
7.一个类中的某个函数被声明为virtual,则该函数在该类的所有派生类中().
A.都是虚函数
B.重载后才是虚函数
C.被重新说明为virtual时才是虚函数
D.不是虚函数
[答案]:
A
8.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A的指针,则p->func()将().
A.调用类A中的函数func()
B.调用类B中的函数func()
C.根据p实际所指对象类型确定调用A或B类中的函数func()
D.同时调用A类和B类中的函数func()
[答案]:
C
9.下列关于虚函数的说明中,正确的是().
A.从虚基类继承的函数都是虚函数
B.虚函数不能是静态成员函数
C.通过对象不能调用虚函数
D.抽象类中的函数都是虚函数
[答案]:
B
10.有一个重载运算符的函数参数表中,没有任何参数,则可以断定被重载的运算符函数是().
A.单目友元函数
B.单目成员函数
C.双目友元函数
D.双目成员函数
[答案]:
B
11.下列关于运算符函数返回值类型的描述中,错误的是().
A.可以是类类型
B.可以是int类型
C.可以是void类型
D.可以是float类型
[答案]:
C
12.友元运算符obj1>obj2被C++编译器解释为().
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj1.operator>(obj2)
D.obj2.operator>(obj1)
[答案]:
C
13.在表达式x+y*z中,+作为成员函数重载的运算符,*作为友元函数重载的运算符,以下叙述中正确的是().
A.operator+有2个参数,operator*有2个参数
B.operator+有2个参数,operator*有1个参数
C.operator+有1个参数,operator*有2个参数
D.operator+有1个参数,operator*有1个参数
[答案]:
C
14.重载赋值运算符时,应声明为()函数.
A.友元
B.虚
C.成员
D.多态
[答案]:
C
15.在成员函数中进行双目运算符重载时,参数表中应有()个参数.
A.0
B.1
C.2
D.3
[答案]:
B
16.双目运算符重载为友元函数时,参数表中应有()个参数.
A.0
B.1
C.2
D.抽象类中的函数都是虚函数
[答案]:
C
17.若表达式a+b中的”+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为().
A.a.operator+(b)
B.b.operator+(a)
C.operator+(a,b)
D.双目成员函数
[答案]:
A
18.假定M是一个类名,且M中重载了操作符=,可以实现M对象间的连续赋值,如”m1=m2=m3;”.重载操作符=的函数原型最好是().
A.intoperaotor=(constM);
B.intoperator=(constM&);
C.Moperator=(constM&);
D.可以是float类型
[答案]:
D
19.下面是重载双目运算符+的普通函数原形,其中最符合+原来含义的是().
A.Valueoperator+(Value,Value);
B.Valueoperator+(Value,int);
C.Value&operator+(Value,Value);
D.obj2.operator>(obj1)
[答案]:
A
20.类模板允许我们创建一系列相关的().
A.类
B.变量
C.数组
D.operator+有1个参数,operator*有1个参数
[答案]:
A
21.关于异常,以下叙述中正确的是().
A.友元
B.当异常被一个catch块处理后,执行流程进入下一个catch块
C.当一个异常被抛出后,其后的第一个catch块执行
D.多态
[答案]:
A
22.以下关于函数模板叙述正确的是().
A.函数模板也是一个具体类型的函数
B.函数模板的类型参数与函数的参数是同一个概念
C.通过使用不同的类型参数,函数模板可以生成不同类型的函数
D.用函数模板定义的函数没有类型
[答案]:
C
23.有如下函数模板定义,则下列函数调用中错误的是().template
A.func(3,5);
B.func(3,3.5)
C.func
D.func
[答案]:
B
24.下列关于函数模板的描述中,错误的是().
A.函数模板必须由程序员实例化为可执行的模板函数
B.函数模板的实例化由编译器完成
C.一个类定义中,只要有一个函数模板,则这个类是类模板
D.类模板的成员函数都是函数模板
[答案]:
A
25.下列模板声明中,正确的是().
A.template
B.template
C.template
D.template
[答案]:
D
26.类模板的使用实际上是将类模板实例化为一个().
A.函数
B.对象
C.类
D.抽象类
[答案]:
C
27.下列关于异常的叙述中,错误的是().
A.编译错属于异常,可以抛出
B.运行错属于异常
C.抛出异常后,将跳过函数中的其它代码
D.抛出的异常可以不被捕获
[答案]:
A
28.在C++程序中使用的cin标识符是系统类库中定义的()类中的一个对象.
A.istream
B.ostream
C.iostream
D.fstream
[答案]:
A
29.要进行文件的输入输出,除了包含头文件iostream外,还需要包含头文件().
A.ifstream
B.fstream
C.ostream
D.cstdio
[答案]:
B
30.定义char*p=“abcd”,能输出p的值(字符串地址)的语句为().
A.cout<<&p;
B.cout<
C.cout<<(char*)p;
D.cout<
[答案]:
D
31.用于打开二进制文件的标志是().
A.ios:
:
binary
B.ios:
:
in
C.ios:
:
out
D.ios:
:
trunc
[答案]:
A
32.下列输出字符’B’的方法中,错误的是().
A.cout.put(‘B’);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 模拟