单选题(共16题,共48分)
开始说明:
结束说明:
1.(3分)
下列选项中,哪一项是可变序列算法( B)。
A、for_each()
B、sort()
C、accumulate()
D、find()
2.(3分)
关于多态,下列说法中错误的是(D )。
A、继承中的多态是动态多态
B、多态的本质是指函数的多种实现形态
C、由重载函数实现的多态是编绎时多态
D、动态多态是由纯虚函数实现的
3.(3分)
关于迭代器,下列说法错误的是(D )。
A、删除容器中的元素,可能会使原有迭代器失效
B、反向迭代器可以从容器末尾向容器首部进行迭代
C、vector容器的iterator迭代器是随机迭代器
D、迭代器就是指针
4.(3分)
关于虚函数的实现多态的机制,下列说法中错误的是(C )。
A、虚函数是通过动态绑定实现多态的
B、在编译包含虚函数的类时,编译器会在类中添加一个隐藏的虚函数指针,指向虚函数表
C、创建对象时,虚函数指针不占用对象内存空间
D、在继承时,派生类会继承基类的虚函数指针
5.(3分)
关于虚函数,下列说法中错误的是( D)。
A、虚函数是运行时多态
B、声明虚函数的方法就是在成员函数原型前添加virtual关键字
C、虚函数只能是类中的成员函数,但不可以是静态成员函数
D、派生类对基类虚函数重写时,可以不必与基类中虚函数的原型完全一致
6.(3分)
关于类模板的模板参数,下列说法错误的是( D)。
A、可以作为数据成员类型
B、可以作为成员函数的返回类型
C、可以作为成员函数的参数类型
D、以上说法都正确
7.(3分)
以下(D )成员函数表示虚函数。
A、virtual int vf(int);
B、void vf(int)=0;
C、virtual void vf()=0;
D、virtual void vf(int) { };
8.(3分)
下列模板声明中,正确的是(D )。
A、template<typename T1,T2>
B、template<classT1,T2>
C、template< T1, T2>
D、template<typename T1, typename T2>
9.(3分)
关于queue容器适配器,下列描述正确的是(C )。
A、queue具有先入后出的特点
B、queue可以一次删除多个元素
C、queue不支持迭代器操作
D、queue不支持pop方法
10.(3分)
关于array容器,下列描述错误的是(B )。
A、array容器初始化后,大小固定,不可修改
B、array容器中元素不可以进行修改
C、array容器和数组类型一样不进行边界检查
D、array容器可以调用fill()函数进行初始化
11.(3分)
下列选项中不属于vector容器操作方法的是(D )。
A、emplace_back
B、pop_back
C、insert
D、push_front
12.(3分)
如果一个类至少有一个纯虚函数,那么就称该类为(A )。
A、抽象类
B、虚函数
C、派生类
D、以上都不对
13.(3分)
关于虚函数的描述中,正确的是(D)。
A、虚函数是一个静态成员函数
B、虚函数是一个非成员函数
C、虚函数即可以在函数说明定义,也可以在函数实现时定义
D、派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型
14.(3分)
关于纯虚函数和抽象类的描述中,错误的是( C)。
A、纯虚函数是一种特殊的虚函数,它没有具体的实现
B、抽象类是指具体纯虚函数的类
C、一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类
D、抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出
15.(3分)
下面4个选项中,(A )是用来声明虚函数的。
A、virtual
B、public
C、using
D、false
16.(3分)
类模板的使用实际上是将类模板实例化成为一个( C)。
A、函数
B、对象
C、类
D、抽象类
评论0