西安交通大学19年5月补考《面向对象程序设计》作业考核试题[答案]答案
西安交通大学19年5月补考《面向对象程序设计》作业考核试题-0001
试卷总分:100 得分:0
一、 单选题 (共 30 道试题,共 60 分)
1.类的析构函数的作用是( )。
A.一般成员函数
B.类的初始化
C.对象的初始化
D.对象释放后的操作
正确选项:----
2.构造函数不具备的特征是( )。
A.构造函数的函数名与类名相同
B.构造函数可以重载
C.构造函数可以设置默认参数
D.构造函数必须指定类型说明
正确选项:----
3.在创建派生类对象时,构造函数的执行顺序是_____。
A.对象成员构造函数、基类构造函数、派生类本身的构造函数;
B.派生类本身的构造函数、基类构造函数、对象成员构造函数;
C.基类构造函数、派生类本身的构造函数、对象成员构造函数;
D.基类构造函数、对象成员构造函数、派生类本身的构造函数。
正确选项:----
4.假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( )。
A.x.a
B.x.a()
C.x>GetValue()
D.x.GetValue()
正确选项:----
5.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
专业答案:----
6.在公用继承的情况下,基类成员在派生类中的访问权限( )
A.受限制
B.保持不变
C.受保护
D.不受保护
专业答案:----
7.由C++源程序文件编译而成的目标文件的缺省扩展名为()。
A.cpp
B.exe
C.obj
D.lik
专业答案:----
8.函数重载是指( )。
A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同
B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
专业答案:----
9.函数重载与函数模板的说法错误的是_____。
A.当函数的函数体不同时,可以把函数设计为重载函数;
B.当函数体相同,仅仅操作的数据类型不同时,可把函数设计为模板;
C.重载函数和函数模板都是抽象的,都需实例化;
D.函数模板有待于实例化为模板函数,重载函数可以直接引用。
正确选项:----
10.类模板的模板参数( )。
A.只可作为数据成员的类型
B.只可作为成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
正确选项:----
11.下列程序段不会发生二义性的是_______。
A.int fun(double p){...;}
专业答案:----
float fun(float p){...;}
int x;
x=fun(0);
B.int fun(float p){...;}
float fun(unsigned p){...;}
正确答案:----
int x;
x=fun(0);
C.int fun(int i,int j=2){...;}
float fun(int i){...;}
cout<<fun(5);
D.int fun(int i=2,int j=2){...;}
专业答案:----
int fun(int *p){...;}
cout<<fun(5);
12.关于纯虚函数,下列说法不正确的是( )。
A.纯虚函数是在声明虚函数时被初始化为0的函数
B.纯虚函数没有函数体
C.纯虚函数可以被调用
D.如果在一个类中声明了纯虚函数,该虚函数中在派生类中仍有可能为虚函数
专业答案:----
13.下列关于私有继承的说法中正确的是()。
A.基类成员对派生类新定义的成员函数是不可见的;
B.基类成员对派生类新定义的成员函数是可见的;
C.只有基类成员中的公有成员对派生类新定义的成员函数是可见的;
D.基类成员中的保护成员对派生类新定义的成员函数是可见的。
专业答案:----
14.下列关于虚基类的说法错误的是()。
A.有引入虚基类的目的是解决二义性的问题;
B.因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;
C.若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;
D.在派生类对象创建时,要保证虚基类的构造函数只被调用一次。
专业答案:----
15.用new运算符创建一个含有10个元素的一维整型数组的正确语句是( )。
A.int p = new int(10);
B.int p = new int[10];
C.int *p = new int [10];
D.int *p = new int(10);
正确答案:----
16.在一个类的定义中,包含有( )成员的定义。
A.数据
B.函数
C.数据和函数
D.数据或函数
专业答案:----
17.若类A中的静态成员函数display的原型如下:static void display( );,则说法正确的是( )
专业答案:----
A.该函数可以直接使用类A的普通数据成员
B.该函数可以使用this指针
C.该函数只能使用类A中的静态成员
D.该函数既可以使用类A中的普通成员函数也可以使用类A中的静态成员函数
正确选项:----
18.下列语句中错误的是()。
A.“int *p=new int (10);”
专业答案:----
B.“int *p=new int [10];”
正确答案:----
C.“int *p=new int ;”
专业答案:----
D.“int *p=new int (10)(0);”
专业答案:----
19.继承机制的作用是( )
A.信息隐藏
B.数据封装
C.定义新类
D.数据抽象
正确答案:----
20.假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( )。
正确选项:----
A.int rx=x;
B.int rx=&x;
C.int *rx=&x;
D.int &rx=x;
专业答案:----
21.下列关于成员函数特征的描述中,( )是错误的。
A.成员函数一定是内置函数
B.成员函数可以重载
C.成员函数可以设置参数的默认值
D.成员函数可以是静态的
专业答案:----
22.设x和y均为bool量,则x&&y为真的条件是()。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
正确答案:----
23.用关键字( )标记的函数被称为虚函数。
A.virtual
B.private
C.public
D.protected
专业答案:----
24.假定AB为一个类,则执行AB x;语句时将自动调用该类的( )
A.有参构造函数
B.无参构造函数
C.拷贝构造函数
D.赋值构造函数
专业答案:----
25.关于运算符重载,下列说法正确的是( )。
A.重载时,运算符的优先级可以改变。
B.重载时,运算符的结合性可以改变。
C.重载时,运算符的功能可以改变。
D.重载时,运算符的操作数个数可以改变。
正确答案:----
26.假定AB为一个类,则执行“AB*p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
专业答案:----
A.0
B.1
C.2
D.3
正确答案:----
27.C++语言建立类族是通过( )。
A.类的嵌套
B.类的继承
C.虚函数
D.抽象类
正确选项:----
28.不可以成为类的数据成员的是______。
A.自身类的对象
B.另一个类的对象
C.自身类的指针或引用
D.其他基本数据类型
正确选项:----
29.在关键字public后面定义的成员为类的( )成员。
A.私有
B.公用
C.保护
D.任何
专业答案:----
30.类的析构函数是一个对象被( )时自动调用的。
A.建立
B.撤消
C.赋值
D.引用
专业答案:----
西安交通大学19年5月补考《面向对象程序设计》作业考核试题[答案]多选题
二、 判断题 (共 20 道试题,共 40 分)
1.使用new运算符创建数组时,可以为该数组指定初始值( )。
A.错误
B.正确
2.若类Y是类X的私有派生类,类Z是类Y的公用派生类,则类Z不能访问类X 的公用成员和保护成员。( )
A.错误
B.正确
3.在调用构造函数时不必给出实参的构造函数称为默认构造函数。一个类只能有一个默认构造函数。( )
A.错误
B.正确
4.程序运行过程出现异常是由于语法错误引起的。( )
A.错误
B.正确
5.友元函数说明在类体内,它是一种成员函数。( )
A.错误
B.正确
6.友元类必须被说明为公用成员。( )
A.错误
B.正确
7.构造函数可以重载。( )
A.错误
B.正确
8.Iostream是抽象基类ios的直接派生类.。()
A.错误
B.正确
9.在设计类时一般把数据成员设置为私有的,把函数成员设置为公用的,从而实现了公用接口和私有实现的分离。( )
A.错误
B.正确
10.将运算符“+”函数重载为类的成员函数,交换律不适用。( )
专业答案:----
A.错误
B.正确
11.在C++中,在文件中只能用“#include <iostream>包含头文件iostream,而不能用“#include <iostream.h>包含头文件iostream。( )
专业答案:----
A.错误
B.正确
12.C++语言支持封装性和继承性,不支持多态性。( )。
A.错误
B.正确
13.私有继承的派生类不能访问基类中的私有成员,但公用继承的派生类可以访问基类中的私有成员。( )
A.错误
B.正确
14.引用可以不初始化。( )
A.错误
B.正确
15.成员函数中调用的虚函数可能实现动态联编。( )
A.错误
B.正确
16.使用字符串流时必须打开文件。( )
A.错误
B.正确
17.运算符重载以后,其优先级和结合性都不能改变。( )
A.错误
B.正确
18.抽象类中只能有一个纯虚函数。( )
A.错误
B.正确
19.C++只能用于面向对象程序设计,不适用于面向过程程序设计。( )
A.错误
B.正确
20.字符串"sdfgh"的长度是5。( )
专业答案:----
A.错误
B.正确
西安交通大学19年5月补考《面向对象程序设计》作业考核试题[答案]历年真题如下: