面向对象程序设计复习题库Word格式文档下载.docx
- 文档编号:15794817
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:16
- 大小:529.87KB
面向对象程序设计复习题库Word格式文档下载.docx
《面向对象程序设计复习题库Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计复习题库Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
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;
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.在下列运算符中,()优先级最高。
A.<
=B.*=C.+D.*
8.对于以下程序段,表达式正确的是
classbase{public:
intb;
};
classbase1:
publicbase{};
classbase2:
classderived:
publicbase1,publicbase2{public:
intfun();
derivedd;
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:
out);
C.ofstreamoutfile(“D:
D.fstreaminfile(“D:
in|ios:
21.关于C++语言,下列说法不正确的是(2分)
A.A.C++具有简洁、高效和接近汇编语言的特点
B.B.C++本身几乎没有支持代码重用的语言结构
C.C.C++语言不是一种纯面向对象的语言
D.D.C++支持面向对象的程序设计,这是它对C的重要改进
22.下列流类中可以用于处理文件的是()。
A.iosB.iostreamC.strstreamD.fstream
23.若一个类中含有纯虚函数,则该类称为()。
A.基类B.纯基类C.抽象类D.派生类
24.下面函数原型中,()声明了fun为纯虚函数。
A.voidfun()=0;
B.virtualvoidfun()=0;
C.virtualvoidfun();
D.virtualvoidfun(){};
25.下列函数中,不能说明为虚函数的是()(2分)
A.私有成员函数B.公有成员函数C.构造函数D.析构函数
26.在创建派生类对象时,构造函数的执行顺序是()。
(2分)
A.对象成员构造函数—基类构造函数—派生类本身的构造函数
B.派生类本身的构造函数—基类构造函数—对象成员构造函数
C.基类构造函数—派生类本身的构造函数—对象成员构造函数
D.基类构造函数—对象成员构造函数—派生类本身的构造函数
27.在c++中,可以被派生类继承的函数是()。
A.成员函数B.构造函数C.析构函数D.友员函数
28.下面描述中,错误的是()。
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++中,类之间的继承关系具有()。
A.自反性B.对称性C.传递性D.反对称性
31.下列关于类的继承描述中,()是正确的。
A.派生类公有继承基类时,可以访问基类的所有数据成员,调用所有成员函数。
B.派生类也是基类,所以它们是等价的。
C.派生类对象不会建立基类的私有数据成员,所以不能访问基类的私有数据成员。
D.一个基类可以有多个派生类,一个派生类可以有多个基类。
32.下面对构造函数的不正确描述是()。
A.系统提供默认的构造函数
B.构造函数可以有参数,所以也可以有返回值
C.构造函数可以重载
D.构造函数可以设置默认参数
33.下面对析构函数的正确描述是()。
A.系统不提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数,也没有返回值
D.析构函数可以设置默认参数
34.说明一个类的对象时,系统自动调用构造函数;
撤消对象时,系统自动调用()。
35.说明一个类的对象时,系统自动调用();
A.成员函数B.构造函数C.析构函数D.友元函数
36.以下不能对二维数组a进行正确初始化的语句是()。
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]的值是()。
A.0B.2C.6D.7
38.已知char*a[]={"
fortran"
"
basic"
pascal"
java"
c++"
};
则cout<
<
a[3];
的显示结果是()。
A.tB.一个地址值C.javaD.javac++
39.有函数原型voidfun4(int&
);
下面选项中,正确的调用是()。
A.inta=2.17;
fun4(&
a);
B.int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 复习 题库