02328面向对象程序设计资料整理(1004长大)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计复习资料

(2328)

一、单项选择题

1.假设P是指针,声明指针s引用指针p正确方法是()A.int* s&=p B.int &*s=p C.int *&s=p D.int s* &=p

2.在C+ +中,可以为类的所有成员共享的是()A、枚举成员 B、公有数据成员 C、私有函数成员 D、公有函数成员

3.C+ +中,下列哪个关键字不能提供封装。()A、struct B、union C、class D、case

4.下而关于类的复制构造函数的说法正确的是()

A.一个类只能有一个复制构造函数

B.可以为void类型

C.不能有返回类型

D.不能使用缺省参数

5.下面叙述正确的是:()

A.派生类不可以使用私有派生

B.保护派生时,基类的保护成员在派生类中是公有的

C.对基类成员的访问可以允许两义性

D.赋值兼容规则也适用于多重继承的组合

6.定义虚函数使用关键字()A.:: B.virtual C.& D.->

7.在下面几项中,运算符在C++中能被重载的是()

A .= B.? : C.sizeof D. : :

A.结构B.类C.继承D.引用

8.在执行下面程序语句之后,num的值为()int num = 500;

int& ref= num;

ref = = ref -50;

A.450 B.500 C.-50 D.无法确定

9.所有在函数外面定义的变量,连同形式参数,都属于()A、局部变量 B、全局变量 C、静态变量 D、寄存器变量

10.面向对象的程序中,哪项不是对象的特点。()A、多态性 B、抽象性和封装性 C、中断 D、继承性

11.下面在半初始化说法正确的是()

A.初始化列表可以初始化任何类

B.初始化列表也也可以初始化具有私有成员的类

C.初始化列表只能初始化公有数据成员

D.初始化列表可以初始化所有数据成员

12.产生编译时的多态性的必要条件是使用()A.静态成员 B.友元函数 C.重载成员函数 D.虚函数13.operator经常和C++的一个运算符连用,构成一个运算符函数名.运算符函数的返回类型不能是()A.void B.char C.int D.float

14.下面是对C++运算符的叙述,正确的叙述是()A.只有类运算符 B.只有友元运算符

C.同时具有类运算符和友元运算符 D.同一个运算符只能重载一次

15.在面向对象的设计中,一切都是围绕着什么展开的()A.类B.结构C.数据类型D.对象

16.下面哪项不能算是面向对象程序设计所具有的显著特点()

A .封装B.继承C.抽象D.递归

17.下面选项中哪一项不是结构和类的共同特性()A.对象可以用作数组的元素 B.在缺省情况下,成员是私有的

C.对象之间可以相互赋值 D.可以说明指向对象的指针和引用

18.下面有关类性质说法错误的是()

A.一个类可以有多个构造函数,但只有一个析构函数

B.析构函数和构造函数都不能有返回类型

C.不可以给析构函数指定参数

D.一个类中不可以说明具有类类型的数据成员

19.下面叙述不正确的是()

A.成员的访问能力取决于派生方式

B.基类的私有成员在公有派生类中不可访问

C.对象可以访问所有成员

D.公有基类成员在保护派生中保护的

20.成为抽象类的一个条件是这个类()A.至少有一个纯虚函数 B.至少有一个虚函数

C.只含有一个纯虚函数 D.只含有一个虚函数

21.下列叙述正确的是() A.有1个运算符不能被重载 B.有2个运算符不能被重载

C.有3个运算符不能被重载 D.有4个运算符不能被重载

22.在以下选项中,不属于模板特点的选项是()A.处理数据时,处理的是不同类型的相同操作

B.声明不需要给出数据类型

C.对于相同的数据类型产生不同的实例

D.对于不同的数据类型能够产生不同的实例

23.通过什么建立类树()A.类B.虚函数C.多重继承D.单一继承

24.C++使用新的分配动态内存的函数是()A . malloc ( ) B. free( ) C. delete D. new

25.以下关于C+ +对象特点叙述不正确的是()A、对象可以进行四则运算 C、对象可以用作数组的元素

C、对象可以用作函数参数

D、对象之间可以相互赋值

26.有关复制构造函数说法错误的是()

A.复制构造函数不能使用初始化列表

B. 复制构造函数不能有返回值

C. 复制构造函数名与类名相同并可以有多个复制构造函数

D. 复制构造函数的参数可以为引用对象

27.对友元函数描述正确的是()

A.一个类的友元函数是该类的一个特殊成员函数

B.一个类的友元函数可以访问类的所有数据成员

C.友元函数只允许访问该类对象的私有成员

D.友元函数只允许访问该类的公有成员

28.进行文件操作时需要包含的头问家是()A.iostream.h B. fstream.h C.stdio.h D. stdlib.h

29.下面关于类模板叙述不正确的是()A.声明类模板“;”号结束B.不能重载运算符

C.可以使用友元函数D.能使用虚函数

30.系统不会为类自动建立什么成员函数()A.默认构造函数B.默认析构函数C.默认虚析构函数D.默认赋值运算赋二、填空题:

1.函数int * func(void)的返回类型是__ _ __.

2.C+ +中,关键字用作联合.

3.关键字virtual可以用来声明类.

4.抽象类至少要含有一个,这种函数属于虚函数

5.成员函数“void print( )const;”是类的函数,它只能被const对象调用。

6.声明double的转换函数是。

7.模板分为模板和类模板。

8.类群是由一些彼此互不相关的组成。

9.类的作用于限定符是。

10..Base(Base&)是类Base的_ __函数的原型声明,它的等效形式为Base(const Base&)。

11.要想取消动态联编,可以使用,它的另一个基本用途是避免两义性.

12.声明double的转换函数是。

13.根据类对其成员的要求,可把类分为模板和无约束模板。

14.在面向对象程序设计时,函数一定既提供了接口也提供了实现。

15.函数func(int &a)里面使用return;语句,则函数的返回值类型为_ _.

16.一般使用类中的函数供类内部的成员函数使用,可以实现更好的封装性。

17.成员名限定的符号是_ _,它可以在引用成员时避免两义性.

18.对类的构造函数而言,析构函数可以为虚函数, 不可以为虚函数.

19.指向类成员的指针引入了新的运算符和->*.

20.使用友元重载提取符函数时,它的第2个参数必需使用形式。

21.一个模板声明可以列出多个参数,多个参数之间必须使用隔开。

20.设计类的基本原则应该是。

22.语句int * x=new int(58);使*x .

23.如果要为其他对象提供相互作用的接口,可以通时函数实现。

24.空类Empty的声明形式为。

25.只有继承的情况下,基类的派生类之间才有赋值兼容性规则。

26.产生多态性要求类之间的继承关系满足。

27.使用友元重载提取符函数时,它的第2个参数必需使用形式。

28.类群是由一些彼此互不相关的组成。

三、改错题

1.指出下面程序段中的错误。

const int R= 15;

R=3 *R;

int m =50-R;

cout << m <

2.找出以下程序中的错误,并说明原因。

# include < iostream.h>

class base

{

int m, n;

public:

base(int a, int b):m(b),n(a)

void Disp( ){cout<

};

3.找出以下程序中的错误,并说明错在何处。

相关文档
最新文档