北京邮电大学C++语言程序设计-----阶段作业2

更新时间:2024-06-05 00:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C++语言程序设计-----阶段作业2

一、单项选择题(共20道小题,共100.0分)

1. 多继承是指( )。

A. 一个派生类同时继承多个基类 B. 多个派生类同时继承一个基类

C. 基类本身又是一个更高一级基类的派生类 D. 派生类本身又是更低一级派生类的基类

知识点: 第八章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 2.

3. 有如下的类声明:

class MyBASE{ int k; public:

void set(int n){ k=n;} int get()const{ return k; } };

class MyDERIVED: protected MyBASE{ protected: int j; public:

void set(int m, int n){ MyBASE::set(m); j=m;} int get()const{ return MyBASE::get()+j; } };

则类MyDERIVED中保护成员的个数是( )。

A. 1 B. 2 C. 3 D. 4

知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 通过保护继承,基类的公有成员也变为派生类的保护成员

4. 有如下程序:

#include using namespace std; class Base { public:

void fun() { cout<<\};

class Derived : public Base { public: void fun()

{ _____________ // 显式调用基类的成员函数fun() cout<<\ } };

程序中画线处正确的语句是( )。

A. fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();

知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0

5. 在任何继承方式下,派生类的自有成员函数都不能访问原基类的某些成员,这些成员的原访问属

性必然是( )。

A. 公有或保护 B. 保护或私有 C. 私有或继承的私有 D. 继承的私有或公有

知识点: 第八章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 6.

7. 有如下程序:

#include using namespace std; inti=1; class Fun{ public: static inti;

int value() { return i-1; } int value() const { return i+1;} };

int Fun::i = 2; int main(){ inti=3; Fun fun1; const Fun fun2; _______________ return 0; }

若程序的输出结果是: 123

则程序中下画线处遗漏的语句是( )。

A. cout<

知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0

8. 有如下类定义:

class Test {

public:

Test() { a=0; c=0; } //① int f(int a) const {this->a = a;} //② static int g() { return a; } //③ void h(int b) {Test::b = b; }; //④ private: int a; static int b; constint c; };

int Test::b = 0;

在标注号码的行中,能被正确编译的是( )。

A. ① B. ② C. ③ D. ④

知识点: 第九章单选题 学生答案: [D;] 得分: 提示: [5] 试题分值: 5.0

9. 下列哪一个只能访问静态成员变量,静态成员函数和类以外的函数和数据,而不能访问类中非静

态成员变量( )。

A. 静态函数 B. 虚函数 C. 构造函数 D. 析构函数

知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 10.

11. 关于静态数据成员的特性,下列哪一个说法是错误的( )。

A. 静态数据成员不是所有对象所共有的 B. 静态数据成员在类体外进行初始化

C. 声明静态数据成员时要在变量名前加关键字static来修饰

D. 引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符

知识点: 第九章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 12.

13. 若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是哪一

种( )。

A. extern B. register C. auto D. static

知识点: 第九章单选题 学生答案: [D;] 得分: 提示: [5] 试题分值: 5.0 14.

15. 下列关于抽象类的表述中正确的是( )。

A. 没有函数成员的类称为抽象类 B. 含有虚函数成员的类称为抽象类 C. 含有纯虚函数成员的类称为抽象类 D. 用abstract修饰的类称为抽象类

知识点: 第十章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 16.

17. 有如下程序:

#include using namespace std; class AA{ public:

virtual void f(){ cout<<\};

class BB:public AA{ public:

BB(){ cout<<\

};

class CC:public BB{ public:

virtual void f(){ BB::f(); cout<<\}; int main(){ AA aa,*p; BB bb; CC cc; p=&cc; p->f(); return 0; }

执行上面的程序将输出( )。

A. BBAACC B. AABBCC C. BBAABBCC D. BBBBAACC

知识点: 第十章单选题 学生答案: [D;] 得分: 提示: [5] 试题分值: 5.0

18. 有如下程序:

#include using namespace std; class BASE{ char c; public:

BASE(char n):c(n){} virtual~BASE(){cout<

class DERIVED:public BASE{ char c; public:

DERIVED(char n):BASE(n+1),c(n){} ~DERIVED(){cout<

DERIVED('X'); return 0; }

执行上面的程序将输出( )。

A. XY B. YX C. X D. Y

知识点: 第十章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0

19. 有如下程序:

#include using namespace std; class Base { public:

void fun() { cout<<\};

class Derived :public Base {

void fun() {

______________ //显式调用基类的函数fun() cout<<\ } };

程序中下画线处缺失的语句是( )。

A. fun(); B. Base.fun(); C. Base::fun(); D. Base->fun();

知识点: 第十章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0

20. 下列关于虚函数的表述中正确的是( )。

A. 只有用virtual修饰的成员函数才是虚函数 B. 派生类中覆盖虚函数的重定义函数仍然是虚函数 C. 对虚函数的调用都是动态绑定的 D. 使用虚函数主要是为了提高运行效率

知识点: 第十章单选题 学生答案: [B;] 得分: 提示: [5] 试题分值: 5.0 21.

22. 在I/O流类中既可以用于文件输入,又可以用于文件输出的流类是( )。

A. fstream B. ifstream C. ofstream D. iostream

知识点: 第十一章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0 23.

24. 语句ofstream f(\的功能是建立流对象f,并试图打开文件

DATA.DAT并与之连接,而且( )。

A. 若文件存在,将文件定位于文件首;若文件不存在,建立一个新文件 B. 若文件存在,将其截为空文件;若文件不存在,打开失败

C. 若文件存在,将文件定位于文件尾;若文件不存在,建立一个新文件 D. 若文件存在,打开失败;若文件不存在,建立一个新文件

知识点: 第十一章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 25.

26. 已知一程序运行后执行的第1个输入/输出语句是:

cout<

关于此语句的输出效果,下列表述中正确的是( )。

A. 如果数据的实际宽度大于8,数据前部的多余部分被截去 B. 如果数据的实际宽度大于8,数据后部的多余部分被截去 C. 如果数据的实际宽度小于8,左边显示若干个*,右边显示数据 D. 如果数据的实际宽度小于8,右边显示若干个*,左边显示数据

知识点: 第十一章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0

27. 有以下程序:

#include #include using namespace std; int main(){

cout<

执行后的输出结果是( )。

A. ##OK123 B. ##OK#123 C. OK##123 D. OK##123#

知识点: 第十一章单选题 学生答案: [A;] 得分: 提示: [5] 试题分值: 5.0

28. 以下程序的运行结果为( )。

#include using namespace std; class Excp { public:

Excp() { cout<< \ Excp(Excp& e) { cout<<\ ~Excp() {cout<< \};

int divide(int a, int b) {

if( b==0 ) { Excp e; throw e; } else return a/b; } int main() { try{

cout<< divide(9,0) <

A. 13 B. 1233 C. 122333 D. 12223333

知识点: 第十二章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0

29. 以下不属于异常处理可以解决的问题的是( )。

A. 环境条件出现意外 B. 用户操作不当 C. 出现编译错误

D. 除数为零

知识点: 第十二章单选题 学生答案: [C;] 得分: 提示: [5] 试题分值: 5.0 30.

本文来源:https://www.bwwdw.com/article/2tj6.html

Top