《面向对象程序设计》20秋平时作业3
1.[单选题] 有如下 4 个语句:
① cout<<~A~< ② cout< ③ cout<<~A~< ④ cout< 其中能显示 A******B 的是()
A.①和③
B.①和④
C.②和③
D.②和④
答:——C——
2.[单选题] 当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为
A.n
B.n+1
C.n-1
D.n-2
答:——C——
3.[单选题] 若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成
A.析构
B.构造
C.任一成员
D.友元
答:——B——
4.[单选题] 假定a为一个整型数组名,则元素a[4]的字节地址为()
A.a+4
B.a+8
C.a+16
D.a+32
答:————
5.[单选题] 在派生类中直接访问基类的()
A.共有成员,私有成员
B.保护成员,私有成员
C.不可访问成员,私有成员
D.共有成员,保护成员
答:————
6.[单选题] 下列程序的执行结果为()#include
void main()
{
int a=3,b=0;
int*p=&a:
b=+a++;
cout<<*P<<“,”<< b ;兰大答案q599792222 或请进 opzy.net
}
A.3,4
B.4,3
C.3,4
D.4,4
答:————
7.[单选题] 对类的构造函数和析构函数描述正确的是()
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
答:————
8.[单选题] 考虑函数原型void test(int a,int b=7,char=”*”),下面的函数调用中,属于不合法调用的是()
A.test(5)
B.test(5,8)
C.test(6,”#”)
D.test(0,0,”*”)
答:————
9.[单选题] 以下不合法的数值常量是()
A.011
B.lel
C.8.0E0.5
D.0xabcd
答:————
10.[单选题] 决定C++语言中函数的返回值类型的是()
A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型
答:————
11.[单选题] 派生类的对象对其基类中( )可直接访问
A.公有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.私有继承的公有成员
答:————
12.[单选题] 下列有关抽象类和纯虚函数的叙述中,错误的是()
A.拥有纯虚函数的类是抽象类,不能用来定义对象
B.抽象类的派生类若不实现纯虚函数,它也是抽象类
C.纯虚函数的声明以“=0
D.”结束
E.纯虚函数都不能有函数体
答:————
13.[单选题] 假定下列x和y均为int型变量,则不正确的赋值为
A.x+=y++
B.x++=y++
C.x=++y
D.++x=++y
答:————
14.[多选题] 一个指针变量会涉及以下哪些内容()
A.指针的类型
B.指针所指向的类型
C.指针的值
D.指针本身所占的存储区
答:————
15.[多选题] 类间的关系可以概括为如下()
A.泛化关系
B.引用关系
C.组合关系
D.关联关系
答:————
16.[判断题] 一个变量,可以声明无穷多次,但却只能定义一次。
A.错误
B.正确
答:————
17.[判断题] 结构体变量不可以用同类型的结构体变量直接赋值。
A.错误
B.正确
答:————
18.[判断题] C++支持两种多态:编译时的多态(重载)和运行时的多态(虚函数)
A.错误
B.正确
答:————
19.[判断题] 类除了用class定义外,还可以用struct定义。
A.错误
B.正确
答:————
20.[判断题] 用class virtual 声明的基类为虚基类
A.错误
B.正确
答:————
21.[判断题] 当将一个类S 定义为零一个类A 的友元类时,类S的所有成员函数都可以直接访问类A 的所有成员
A.错误
B.正确
答:————
22.[判断题] 编译时多态性通过重载函数实现
A.错误
B.正确
答:————
23.[判断题] 没有返回值或者返回值为空是一回事。
A.错误
B.正确
答:————
24.[判断题] 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量
A.错误
B.正确
答:————
25.[判断题] 虚函数由成员函数调用或通过指针,引用来访问。
A.错误
B.正确
答:————