面向对象程序设计复习题库.docx

上传人:b****3 文档编号:2883776 上传时间:2022-11-16 格式:DOCX 页数:16 大小:529.87KB
下载 相关 举报
面向对象程序设计复习题库.docx_第1页
第1页 / 共16页
面向对象程序设计复习题库.docx_第2页
第2页 / 共16页
面向对象程序设计复习题库.docx_第3页
第3页 / 共16页
面向对象程序设计复习题库.docx_第4页
第4页 / 共16页
面向对象程序设计复习题库.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

面向对象程序设计复习题库.docx

《面向对象程序设计复习题库.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题库.docx(16页珍藏版)》请在冰豆网上搜索。

面向对象程序设计复习题库.docx

面向对象程序设计复习题库

判断题

1.C++中标识符内的大小写字母是没有区别的。

2.C++是一种以编译方式实现的高级语言。

3.在私有继承中,基类中所有成员对派生类都是不可见的。

4.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

5.使用关键字class定义的类中缺省的访问权限是私有(private)的。

6.引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。

7.类封装了数据和操作。

8.析构函数可以有形参。

9.派生类至少有一个基类。

10.全局函数和静态成员函数也能声明为虚函数。

11.在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问

12.友元本身就是类的成员。

13.一个类只能有一个对象。

14.构造函数没有函数类型。

15.构造函数没有函数类型。

16.只有类的成员函数才能声明为虚函数。

17.所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。

18.For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。

19.通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。

20.已知:

类A中一个成员函数说明如下:

voidSet(A&a);其中A&a的含意是将a的地址值赋给变量Set。

选择题

1.一个最简单的C++程序,可以只有一个(2分)

A.库函数B.自定义函数C.main函数D.空函数

2.C++程序中的简单语句必须以()结束(2分)

A.冒号B.分号C.空格D.花括号

3.下列选项中,全部都是C++关键字的选项为(2分)

A.whileIFStaticB.breakchargoC.sizeofcaseexternD.switchfloatinteger

4.下列正确的字符常量为(2分)

A."a"B.'name'C.aD.'\101'

5.下列选项中,()不能交换变量a和b的值。

(2分)

A.t=b;b=a;a=t;B.a=a+b;b=a-b;a=a–b;C.t=a;a=b;b=t;D.a=b;b=a;

6.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则不能表示数组a中元素的式子是()(2分)

A.*aB.*pC.aD.a[p-a]

7.在下列运算符中,()优先级最高。

(2分)

A.<=B.*=C.+D.*

8.对于以下程序段,表达式正确的是

classbase{public:

intb;};

classbase1:

publicbase{};

classbase2:

publicbase{};

classderived:

publicbase1,publicbase2{public:

intfun();};

derivedd;(2分)

A.d.base1:

:

bB.d.base:

:

bC.d.bD.d.base:

:

fun()

9.派生类的对象与基类的对象的关系是(2分)

A.属于前者则不属于后者

B.属于前者,不一定属于后者

C.不属于前者则一定不属于后者

D.属于前者则一定属于后者

10.如果没有使用关键字,则所有成员(2分)

A.都是public权限B.都是protected权限C.都是private权限D.权限情况不确定

11.下列说法中正确的是(2分)

A.运算符new用于建立生存期可控的对象

B.new建立动态对象的语法完全不同于建立动态变量的情况

C.使用new建立的动态对象不用时必须调用析构函数删除

D.new和构造函数不能同时使用

12.一个类最多可有几个虚析构函数(2分)

A.不定B.4C.3D.1

13.关于下面程序段,说法正确的是

classA{

private:

intn;

public:

A(A&);

};

A:

:

A(A&a){n=a.n;}(2分)

A.Aobj2(obj1);用对象obj1初始化具有相同类类型的对象obj2

B.Aobj2(obj1);用对象obj2初始化具有相同类类型的对象obj1

C.A(A&a)也可以不使用引用参数而仍然是复制初始化构造函数

D.A(A&a)不能访问对象的私有成员

14.析构函数不用于(2分)

A.在对象创建时执行一些清理任务

B.在对象消失时执行一些清理任务

C.释放由构造函数分配的内存

D.在对象的生存期结束时被自动调用

15.形如X:

:

X(X&)的构造函数称为(2分)

A.拷贝函数B.复制函数C.初始化构造函数D.拷贝初始化构造函数

16.有关类作用域,下列说法中不正确的是(2分)

A.说明类时使用的一对花括号形成所谓的类作用域

B.类作用域不包含类中成员函数的作用域

C.类作用域中说明的标识符只在类中可见

D.在可能出现两义性的情况下,必须使用作用域限定符“:

17.缺省的析构函数的函数体是(2分)

A.不存在的B.随机产生的C.空的D.无法确定的

18.以下说法中正确的是(2分)

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

B.一个类只能定义一个析构函数,但可以定义多个构造函数

C.构造函数与析构函数同名,只是名字前加了一个波浪号(~)

D.构造函数可以指定返回类型;而析构函数不能指定任何返回类型,即使是void类型也不可以

19.getline函数的功能是从输入流中读取()(2分)

A.一个字符B.当前字符C.一行字符D.指定若干个字节

20.要求打开文件D:

\file.dat,并能够读写数据,正确的语句是()(2分)

A.ifstreaminfile(“D:

\\file.dat”,ios:

:

in);

B.ifstreaminfile(“D:

\\file.dat”,ios:

:

out);

C.ofstreamoutfile(“D:

\\file.dat”,ios:

:

in);

D.fstreaminfile(“D:

\\file.dat”,ios:

:

in|ios:

:

out);

21.关于C++语言,下列说法不正确的是(2分)

A.A.C++具有简洁、高效和接近汇编语言的特点

B.B.C++本身几乎没有支持代码重用的语言结构

C.C.C++语言不是一种纯面向对象的语言

D.D.C++支持面向对象的程序设计,这是它对C的重要改进

22.下列流类中可以用于处理文件的是()。

(2分)

A.iosB.iostreamC.strstreamD.fstream

23.若一个类中含有纯虚函数,则该类称为()。

(2分)

A.基类B.纯基类C.抽象类D.派生类

24.下面函数原型中,()声明了fun为纯虚函数。

(2分)

A.voidfun()=0;B.virtualvoidfun()=0;C.virtualvoidfun();D.virtualvoidfun(){};

25.下列函数中,不能说明为虚函数的是()(2分)

A.私有成员函数B.公有成员函数C.构造函数D.析构函数

26.在创建派生类对象时,构造函数的执行顺序是()。

(2分)

A.对象成员构造函数—基类构造函数—派生类本身的构造函数

B.派生类本身的构造函数—基类构造函数—对象成员构造函数

C.基类构造函数—派生类本身的构造函数—对象成员构造函数

D.基类构造函数—对象成员构造函数—派生类本身的构造函数

27.在c++中,可以被派生类继承的函数是()。

(2分)

A.成员函数B.构造函数C.析构函数D.友员函数

28.下面描述中,错误的是()。

(2分)

A.在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问。

B.在基类定义的protected成员在私有继承的派生类中可见。

C.在基类定义的公有静态成员在私有继承的派生类中可见。

D.访问声明可以在公有继承派生类中把基类的public成员声明为private成员。

29.若classB中定义了一个classA的类成员Aa,关于类成员的正确叙述是()(2分)

A.在类B的成员函数中可以访问A类的私有数据成员

B.在类B的成员函数中可以访问A类的保护数据成员

C.类B的构造函数可以调用类A的构造函数做数据成员初始化

D.类A的构造函数可以调用类B的构造函数做数据成员初始化

30.在c++中,类之间的继承关系具有()。

(2分)

A.自反性B.对称性C.传递性D.反对称性

31.下列关于类的继承描述中,()是正确的。

(2分)

A.派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。

B.派生类也是基类,所以它们是等价的。

C.派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。

D.一个基类可以有多个派生类,一个派生类可以有多个基类。

32.下面对构造函数的不正确描述是()。

(2分)

A.系统提供默认的构造函数

B.构造函数可以有参数,所以也可以有返回值

C.构造函数可以重载

D.构造函数可以设置默认参数

33.下面对析构函数的正确描述是()。

(2分)

A.系统不提供默认的析构函数

B.析构函数必须由用户定义

C.析构函数没有参数,也没有返回值

D.析构函数可以设置默认参数

34.说明一个类的对象时,系统自动调用构造函数;撤消对象时,系统自动调用()。

(2分)

A.成员函数B.构造函数C.析构函数D.友员函数

35.说明一个类的对象时,系统自动调用();(2分)

A.成员函数B.构造函数C.析构函数D.友元函数

36.以下不能对二维数组a进行正确初始化的语句是()。

(2分)

A.inta[2][3]={0};

B.inta[][3]={{0,1},{0}};

C.inta[2][3]={{0,1},{2,3},{4,5}};

D.inta[][3]={0,1,2,3,4,5};

37.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a[2][1]的值是()。

(2分)

A.0B.2C.6D.7

38.已知char*a[]={"fortran","basic","pascal","java","c++"};则cout<

(2分)

A.tB.一个地址值C.javaD.javac++

39.有函数原型voidfun4(int&);下面选项中,正确的调用是()。

(2分)

A.inta=2.17;fun4(&a);

B.int

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1