79面向对象程序设计_固定试卷模拟1-3 下载本文

内容发布更新时间 : 2024/5/5 4:46:13星期一 下面是文章的全部内容请认真阅读。

实用标准文案

79面向对象程序设计_固定试卷模拟1-3

一、单选题

1. 下列符号中能够作为C++标识符的是 D (2分) A.4p B.how many C.friend D._256

2. 为了解决程序中函数调用的效率问题,可以将一些函数体代码不是很大,但被频繁调用的函数定义为 B(2分)

A. 重载函数 B.内联函数 C.递归函数 D.友元函数

3. 抽象类至少包含一个 A.静态函数

C

B.虚析构函数 B B.纯虚函数

B

C.纯虚函数 C.虚函数

(2分) D.友元函数

(2分)

D.虚析构函数

9. 抽象类至少包含一个 A.友元函数

4. C++中重载的运算符>>是 A.用于输入操作的成员函数 C.用于输出操作的成员函数

(2分) B.用于输入操作的非成员函数 D.用于输出操作的非成员函数

5. 下列函数中,具有隐含this指针的是 D (2分)

class MyClass{ public: MyClass(); //①

friend void fun2(); //② static int fun3(); //③ private:

int count; //④ }; A. ① B.② C.③ D.④

7. 下列函数中,具有隐含的this指针的是 A (2分) class MyClass{ public:

int fun1(); //① friend int fun3(); //② static void fun2(); //③ static int count; //④ }; A. ① B.② C.③ D.④

6. 已知函数f的原型是void f(int &x, int y);,变量v1、v2的定义是:int v1, v2;,下列调用语句中,正确的是 C (2分)

A.f(v1,&v2); B.f(v1,v2); C.f(&v1,v2); D.f(&v1,&v2);

7. 下列有关继承和派生的描述中,错误的是 C (2分) A.派生类要向基类的构造函数传递参数

精彩文档

实用标准文案

B. 多继承时可能产生二义性

C. 派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数 D. 一个基类可以有多个派生类,一个派生类可以有多个基类

8. 下列语句中,会产生编译错误的是 int i=0, j=1; int &r=i; //① &r=j; //② r=r+5; //③ int *p=&i; //④ A. ① B.②

9. 下列语句中,会产生编译错误的是 A.int x=5; int &ref=x; C.int x=5; int &ref=x; x++;

B (2分)

B

C.③ D.④

B.const int size;

D.const int size=100;

(2分)

10. 不论派生类以何种方式继承基类,都不能使用基类的 C (2分) A.保护成员和私有成员 B.公有成员 C.私有成员 D.保护成员

1. 当派生类从基类私有继承时,基类中的公有成员和保护成员成为派生类的 C (2分) A.保护成员和私有成员 B.公有成员 C.私有成员 D.保护成员

11. 下列关于类和对象的描述中,错误的是 B (2分) A.类是创建对象的模板 B.一个类只能有一个对象 C.一个对象一定属于某个类 D.对象是状态和操作的封装体

11. 下列关于类和对象的描述中,正确的是 C (2分) A.一个类只能有一个对象 B.类对象可以访问类的全部成员 C. 类和对象的关系是一种数据类型与变量的关系 D.对象是对类的抽象

6. 下列关于类和对象的描述中,错误的是 B (2分) A.类具有封装性 B. 类对象可以访问类的全部成员 C. 类是所有对象的共同的行为和不同的状态的集合体 D.对象是类的具体实例

15. 下列关于类定义的描述中,错误的是 A (2分) A.类定义中包括数据成员和成员函数的声明 B.类成员的默认访问权限是私有的 C.可以在类体内对数据成员进行初始化 D.成员函数必须在类体内声明

12. 如果'-'作为友元函数重载,在使用显式函数调用时,表达式x-y可以表示为 A (2分) A.x.operator-(y) B.operator-(x,y) C.y.operator-(x) D.operator-(y,x)

13. 已知函数原型如下:int Fun(int x, int y=2, int z=3),则下列函数调用错误的是 D(2分) A.Fun(4,5,6); B.Fun(1,2); C.Fun(1); D.Fun(\

18. 已知函数原型为int test(int,int,int);,则下列重载形式中正确的是 B (2分) A.char test(int,int,int); B.double test(int,int,double);

精彩文档

实用标准文案

C.int test(int,int,int=0);

14. 下列关于友元的描述中,错误的是 A.关键字friend用于声明友元 C.友元函数访问对象的成员不受访问特性影响

D.float test(int,int,int) ;

D (2分)

B.一个类的成员函数可以是另一个类的友元 D.友元函数也是成员函数

(2分)

6. 下列关于友元的描述中,错误的是 B A.如果函数fun()是类A的友元,那么在fun()中可以访问类A的私有成员 B.如果类A是类B的友元,那么类B也是类A的友元

C.如果类A是类B的友元,那么类A的所有成员函数都是类B的友元 D.友元必须在类体内声明

15. 在C++中,要实现动态联编,调用虚函数时必须使用 A.派生类指针 B.基类指针 C.类

B

(2分) D.对象

4. C++中,实现封装性需借助于 A.枚举 B.类

B C.数组 (2分) D.函数

(2分) D.A(int);

16. 在下列函数原型中,可以作为类A构造函数的是 A.void A(int); B.int A();

A

C.A(int) const;

17. 下列关于常类型的描述中,正确的是 A.可以通过成员函数修改常对象的状态 C.必须使用成员初始化列表初始化常数据成员

C (2分) B.通过常对象可以调用一般成员函数 D.常对象中的成员函数都是常成员函数

13. 下列关于常类型的描述中,错误的是 A.不能修改常对象的状态 C.常成员函数中不能修改对象的状态

B (2分) B.通过常对象可以调用一般成员函数

D.必须使用成员初始化列表初始化常数据成员 B

C.成员函数

(2分) D.友元函数

18. 释放一个类的对象时,系统自动调用 A.构造函数 B.析构函数

7. 下列选项中,不是类成员函数的是 D (2分) A.构造函数 B.析构函数 C.虚函数 D.友元函数

19. 当一个派生类继承自一个基类时,基类中的所有公有成员都成为派生类的 A (2分) A.可访问成员 B.公有成员 C.私有成员 D.保护成员

20. 下列描述中,作为重载函数调用时选择依据的是 A.参数名字 B.函数体

C

C.函数名字 C.::

(2分)

D.返回类型 (2分) D.++

1. 下列运算符中,可以重载的是 D A.?: B..

12. 下列运算符中,不能被重载的是 C A.* B.!=

精彩文档

C.:: (2分) D.++