西工大《面向对象程序设计(C++)》复试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计(C++)
1.一个函数功能不太复杂,但要求被频繁调用,选用()。
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数
答案:A
2.在C++中,函数原型不能标识()。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
答案:D
3.下面函数模板定义中不正确的是()。
A.template
B.template
C.template
D.template
答案:A
4.在C++中把不返回任何类型的函数应该说明为()。
A.int
B.char
C.void
D.double
答案:C
5.若Sample类中的一个成员函数说明如下:
A.指向类Sample的名为a的指针
B.a是类Sample的对象引用,用来作函数Set()的形参
C.将a的地址赋给变量Set
D.变量Sample与a按位与的结果作为函数Set的参数
答案:B
6.与C语言printf("Hello,World\n");语句功能相同的C++语句是()。
A.cout>>"Hello,World\n"
B.cout<<"Hello,World\n"
C.cin>>"Hello,World\n"
D.cin<<"Hello,World\n"
答案:B
7.有关类的说法错误的是()。
A.类是一种用户自定义的数据类型
B.只有类的成员函数才能存取类中的私有数据
C.只类中,如果不作特别说明,所指的数据均为私有数据
D.只类中,如果不作特别说明,所指的成员函数均为公有类型
答案:D
8.有关类和对象的说法错误的是()。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据和变量的关系相似
答案:C
9.关于成员函数特征的下述描述中,()是错误的。
A.成员函数一定是内联函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
答案:A
10.已知P是一个指向Sample 数据成员m的指针,s是类Sample的一个对象。如果要给m赋值为5,()是正确的。
A.s.p= 5
B.s->p = 5
C.s.*p = 5
D.*s.p = 5
答案:C
11.已知一个类Sample,()是定义指向类Sample成员函数的指针,假设类有3个公有成员:void f1(int),void f2 (int),int a。
A.Sample *p
B.int Sample::*pc = &Sample::a
C.void (Sample::*pa)(int)
D.Sample *a[10]
答案:C
12.已知f1(int)是类A的公有成员函数,p是指向成员函数f1的指针,采用赋值()是正确的。
A.p= f1
B.p=A::f1
C.p=A::f1( )
D.p=f1( )
答案:B
13.有关构造函数的说法错误的是()。
A.构造函数的名字和类的名字一样
B.构造函数在说明类变量时自动执行
C.构造函数无任何函数类型
D.构造函数有且只有一个
答案:D
14.()不是构造函数的特征。
A.构造函数的函数名和类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定函数类型说明
答案:D
15.通常的拷贝初始化构造函数的参数是()。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
答案:C
16.有关析构函数的说法错误的是()。
A.析构函数有且只有一个
B.析构函数无任何函数类型
C.析构函数和析构函数一样可以有形参
D.析构函数的作用是在对象被撤销时收回先前分配的内存空间答案:D
17.()是析构函数的特征。
A.一次类中只能定义一个析构函数
B.析构函数名与类名不同
C.析构函数的定义只能在类体内
D.析构函数可以有一个或多个参数
答案:A
18.下述静态数据成员的特征中,()是错误的。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.引用静态成员时,要在静态数据成员名前加“类名”和作用域运算符
D.静态数据成员不是所有对象所共用的
答案:D
19.下列运算符中,()运算符在C++中不能重载。
A.?:
B.+
C._
D.<=
答案:A
20.下列运算符中,()运算符在C++中不能重载。
A.&&
B.[]
C.::
D.new
答案:C
21.下列关于运算符重载的描述中,()是正确的。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变结合性
D.运算符重载不可以改变语法结构
答案:D
22.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator>(obj1)
D.obj1.operator>(obj2)
答案:A
23.在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。
A.该运算符是一个单目运算符