第 1 页:选择题 |
第 5 页:基本操作题 |
第 6 页:综合应用题 |
31派生类的成员函数不能访问基类的( )。
A.公有成员和保护成员B.公有成员C.私有成员D.保护成员
参考答案:C
参考解析:本题考查3种继承方式,其中,基类的私有成员始终为基类私有。所以派生类无法访问基类的私有成员。本题答案为c。
32下列代码段中声明了3个类:
Class Person{};
Class Student:publiC Person{};
Class Undergraduate:Student{};
下列关于这些类之间关系的描述中,错误的是( )。
A.类Person是类Undergraduate的基类
B.类Undergraduate从类Student公有继承
C.类Student是类Person的派生类
D.类Undergraduate是类Person的派生类
参考答案:B
参考解析:本题考查基类和派生类的逻辑关系,属于基础知汉,如果没有指明哪种继承方式,那么默认为私有继承,所以B选项错误。
33若有下面的函数调用:
fun(fl+b,3,max(n一1,B.)
则fun的实参个数是( )。
A.3B.4C.5D.6
参考答案:A
参考解析:本题考查函数实参个数的基础知识,根据实参的概念,(a+b)、3、mflJc(n一1,b)分别为其中的3个实参。故答案为A。
34有如下两个类定义:
class XX{
private:
double xl;
protected:
double x2;
public:
double x3;
};
class YY:protected XX{
private:
double yl;
protected:
double y2;
public:
double y3;
在类YY中保护成员变量的个数是( )。
A.1B.2C.3D.4
参考答案:C
参考解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,所以基类的成员x2、x3变成了保护成员,派生类中的y2也是保护成员,所以共有3个保护成员。本题答案为C、
35下列关于运算符重载的描述中,正确的是( )。
A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
B.一元运算符只能作为成员函数重载
C.二元运算符重载为非成员函数时,参数表中有一个参数
D.C++中可以重载所有的运算符
参考答案:A
参考解析:运算符重载为成员函数时,会省一个参数,如果无参数,表明是一元运算符。一元运算符既可以作为成员函数重载,也可以作为非成员函数重载。二元运算符如果作勾非成员函数,则参数表中必须有两个参数。c++有5个运算符不能重载,它们是:.(成员访问运算符)、*(成员指针访问运算符)、::(域运算符)、sizeof(长度运算符)和?:(条件运算符)。故本题答案为A。
36建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、C(派生类)构造函数),这3种构造函数的调用顺序为( )。
A.abCB.aCbC.CabD.Cba
参考答案:A
参考解析:本题考查的是在继承中派生类的对象调用构造函数的顺序,应该是先调用基类的构造函数,然后是成员中的对象对应类的构造函数,最后是派生类自已的构造函数。
37在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是( )。
A.ios_base::cur
B.ios—base::beg
C.los_base::0ut
D.ios—base::end
参考答案:A
参考解析:streamoff定义于iostream.h中,定义有偏移量0ffset所能取得的最大值,seek—dir表示移动的基准位置,是一个有以下值的枚举:ios::be9:(文件开头)、ios::cur:(文件当前位置)、ios::end:(文件结尾)。
38当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。
A.ios—base::in
B.ios—base::in l ios base::0ut
C.los base;:0ut
D.ios_base::in&ios_base::0ut
参考答案:A
参考解析:本题考查对文件输入流的操作,ifstream流类为输入流类,默认的文件输入流扣’开方式为ios::in。故答案为A。
39下列有关运算符重载的叙述中,正确的是( )。
A.运算符重载是多态性的一种表现
B.C++中可以通过运算符重载创造新的运算符
C.C++中所有运算符都可以作为非成员函数重载
D.重载运算符时可以改变其结合性
参考答案:A
参考解析:重载运算符的规则如F:①c++不允许用户自己定义新的运算符,只能对已有的c++运算符进行重载;②c++不能重载的运算符只有5个;③重载不能改变运算符运算对象的个数;④重载不能改变运算符的优先级和结合性;⑤重载运算符的函数不能有默认的参数;⑥重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不允许参数全部是c++的标准类型。故本题答案为A。
40必须用一对大括号括起来的程序段是( )。
A.switCh语句中的ease标号语句
B.if语句的分支
C.循环语句的循环体
D.函数的函数体
参考答案:D
参考解析:本题考查C++基本控制结构.A、B、C三个选项中的大括号不是必须的,而D选项中的函数体必须使用大括号。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |