17春北交《面向对象的程序设计》在线作业二.docx
- 文档编号:10303053
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:28
- 大小:22.80KB
17春北交《面向对象的程序设计》在线作业二.docx
《17春北交《面向对象的程序设计》在线作业二.docx》由会员分享,可在线阅读,更多相关《17春北交《面向对象的程序设计》在线作业二.docx(28页珍藏版)》请在冰豆网上搜索。
17春北交《面向对象的程序设计》在线作业二
北交《面向对象的程序设计》在线作业二
一、单选题(共23道试题,共57.5分。
)
1.已知枚举类型定义语句为:
enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()(
A.枚举常量NAME的值为1
B.枚举常量NUMBER的值为1
C.枚举常量MINUS的值为6
D.枚举常量PRINT的值为10
正确答案:
2.在下列函数原型中,可以作为类AA构造函数的是()
A.voidAA(int);
B.intAA();
C.AA(int)const;
D.AA(int);
正确答案:
3.下面关于析构函数特征的描述正确的是()。
A.一个类中可以定义多个析构函数
B.析构函数名与类名相同
C.析构函数不能指定返回类型
D.析构函数可以有一个或多个参数
正确答案:
4.下面的哪个保留字不能作为函数的返回类型()。
A.void
B.int
C.new
D.long
正确答案:
5.下列关于运算符重载的叙述中,正确的是()
A.通过运算符重载,可以定义新的运算符
B.有的运算符只能作为成员函数重载
C.若重载运算符+,则相应的运算符函数名是+
D.重载一个二元运算符时,必须声明两个形参
正确答案:
6.下列运算符中,不能被重载的是()。
A.【】
B..
C.()
D./
正确答案:
7.有关运算符重载正确的描述是()。
A.C++语言允许重载运算符时改变运算符的操作个数
B.C++语言允许重载运算符时改变运算符的优先级
C.C++语言允许重载运算符时改变运算符的结合性
D.C++语言允许重载运算符时改变运算符原来的功能
正确答案:
8.下列不是C++流对象的是()。
A.cout
B.cin
C.cerr
D.ostream
正确答案:
9.通常拷贝构造函数的参数是()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确答案:
10.使用如setfill()的操作符对数据进行格式输出时,应包含()头文件。
A.iostream
B.fstream
C.iomanip
D.stdlib
正确答案:
11.下面有关重载函数的说法中正确的是()
A.重载函数必须具有不同的返回值类型
B.重载函数形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数名可以不同
正确答案:
12.有如下函数模板定义:
templateTfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()
A.func(3,5);
B.func(3.0,5.5);
C.func(3,5.5);
D.func(3,5.5);
正确答案:
13.对于包括()类型数据成员的用户定义类型必须定义其析构函数
A.static
B.指针类型
C.字符串
D.字符型
正确答案:
14.下列关于类和对象的叙述中,错误的是()
A.一个类只能有一个对象
B.对象是类的具体实例
C.类是对某一类对象的抽象
D.类和对象的关系是一种数据类型与变量的关系
正确答案:
15.for(intx=0,y=0;!
x&&y<=5;y++)语句执行循环的次数是()
A.0
B.5
C.6
D.无数次
正确答案:
16.在声明类时,下面说法正确的是()。
A.可以在类的声明中给数据成员赋初值
B.数据成员的数据类型可以是register
C.private,public,proected可以按任意的顺序出现
D.没有用private,public,proected定义的数据成员是共有成员
正确答案:
17.下列描述中,成员函数中包括()的类肯定是抽象类
A.virtualdoubleArea();
B.virtualdoubleArea()=0;
C.virtualdoubleArea(void){}
D.doubleArea(void)=0;
正确答案:
18.执行语句序列inti=0;while(i<25)i+=3;cou<
A.24
B.25
C.27
D.28
正确答案:
19.在每个C++程序中都必须包含有这样一个函数,该函数的函数名()。
A.main
B.MAIN
C.name
D.function
正确答案:
20.结构化程序设计所规定的三种基本控制结构是()
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
正确答案:
21.下面函数的功能是()。
voidfun(chars1[],chars2[]){while(s2++=s1++);}(
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
正确答案:
22.下列关于C++函数的说明中,正确的是()
A.内联函数就是定义在另一个函数体内部的函数
B.函数体的最后一条语句必须是return语句
C.标准C++要求在调用一个函数之前,必须先声明其原型
D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
正确答案:
23.设x和y均为bool量,则x||y为假的条件是()。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
正确答案:
北交《面向对象的程序设计》在线作业二
二、多选题(共2道试题,共5分。
)
1.下面说法正确的是()
A.所有的函数都可以说明为内置函数
B.具有循环语句、switch语句的函数不能说明为内置函数
C.使用内置函数,可以加快程序执行的速度,但会增加程序代码的大小
D.使用内置函数,可以减小程序代码大小,但使程序执行的速度减慢
正确答案:
2.下列函数中,可以作为虚函数的是()。
A.普通函数
B.非静态成员函数
C.构造函数
D.析构函数
正确答案:
北交《面向对象的程序设计》在线作业二
三、判断题(共15道试题,共37.5分。
)
1.一个类可以作为另一个类的友元类。
()
A.错误
B.正确
正确答案:
2.构造函数的定义必须在类体内。
()
A.错误
B.正确
正确答案:
3.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。
()
A.错误
B.正确
正确答案:
4.使用const说明常量时,可以不必指出类型.()
A.错误
B.正确
正确答案:
5.在C++语言中,类是支持数据封装的工具。
()
A.错误
B.正确
正确答案:
6.友元函数说明在类体内它是一种成员函数。
()
A.错误
B.正确
正确答案:
7.类的友元函数可以直接访问该类的所有成员。
()
A.错误
B.正确
正确答案:
8.变量必须先定义后赋值。
()
A.错误
B.正确
正确答案:
9.抽象类中只能有一个纯虚函数。
()
A.错误
B.正确
正确答案:
10.虚函数不能是类的静态成员。
()
A.错误
B.正确
正确答案:
11.在类的定义中,引入友元的原因是提高效率。
()
A.错误
B.正确
正确答案:
12.子对象的初始化在其构造函数的成员初始化列表中实现。
()
A.错误
B.正确
正确答案:
13.一般对象和指向对象指针的成员函数表示分别是运算符.和->。
()
A.错误
B.正确
正确答案:
14.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
()
A.错误
B.正确
正确答案:
15.派生类的成员函数可以直接访问基类的所有成员。
()
A.错误
B.正确
正确答案:
北交《面向对象的程序设计》在线作业二
一、单选题(共23道试题,共57.5分。
)
1.下面()不是构造函数的特征。
A.构造函数可以重载
B.构造函数可以设置缺省参数
C.构造函数的函数名和类名相同
D.构造函数必须指定返回值类型
正确答案:
2.for(intx=0,y=0;!
x&&y<=5;y++)语句执行循环的次数是()
A.0
B.5
C.6
D.无数次
正确答案:
3.以下错误的描述是()。
函数调用可以
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案:
4.面向对象系统不具有()特性
A.继承性
B.封装性
C.过程性
D.多态性
正确答案:
5.以下保留字()不能出现在说明虚函数原型的语句中。
A.static
B.operator
C.void
D.const
正确答案:
6.下面函数的功能是()。
voidfun(chars1[],chars2[]){while(s2++=s1++);}(
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
正确答案:
7.下面有关重载函数的说法中正确的是()
A.重载函数必须具有不同的返回值类型
B.重载函数形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数名可以不同
正确答案:
8.有如下函数模板定义:
templateTfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()
A.func(3,5);
B.func(3.0,5.5);
C.func(3,5.5);
D.func(3,5.5);
正确答案:
9.下列不是C++流对象的是()。
A.cout
B.cin
C.cerr
D.ostream
正确答案:
10.下列函数中,()是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
正确答案:
11.以下不属于类访问权限的是()
A.public
B.static
C.protected
D.private
正确答案:
12.下列字符列中,可作为C++语言程序自定义标识符是()
A.switch
B.file
C.break
D.do
正确答案:
13.在进行任何的C++流操作后,都可以用C++流的有关成员函数检测流的状态,用来检测是否到达文件的末尾函数是()。
A.fail()
B.eof()
C.bad()
D.good()
正确答案:
14.下列关于C++函数的说明中,正确的是()
A.内联函数就是定义在另一个函数体内部的函数
B.函数体的最后一条语句必须是return语句
C.标准C++要求在调用一个函数之前,必须先声明其原型
D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
正确答案:
15.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。
A.in
B.inline
C.inLine
D.InLiner
正确答案:
16.下列关于运算符重载的叙述中,正确的是()
A.通过运算符重载,可以定义新的运算符
B.有的运算符只能作为成员函数重载
C.若重载运算符+,则相应的运算符函数名是+
D.重载一个二元运算符时,必须声明两个形参
正确答案:
17.有如下程序:
#includeusingnamespacestd;classTest{public:
Test(){n+=2;}~Test(){n-=3;}staticintgetNum(){returnn;}private:
staticintn;};intTest:
:
n=1;intmain(){Test*p=newTest;deletep;cout<<"n="<<Test:
:
getNum()<<end
A.n=0
B.n=1
C.n=2
D.n=3
正确答案:
18.有如下类声明:
classFoo{intbar;};则Foo类的成员bar是()
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
正确答案:
19.已知枚举类型定义语句为:
enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()(
A.枚举常量NAME的值为1
B.枚举常量NUMBER的值为1
C.枚举常量MINUS的值为6
D.枚举常量PRINT的值为10
正确答案:
20.下列不合法的变量名为()
A.int
B.int1
C.name_1
D.name0
正确答案:
21.假定AB为一个类,则执行“ABa(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为()。
A.3
B.4
C.6
D.9
正确答案:
22.结构化程序设计所规定的三种基本控制结构是()
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
正确答案:
23.通常拷贝构造函数的参数是()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确答案:
北交《面向对象的程序设计》在线作业二
二、多选题(共2道试题,共5分。
)
1.下面说法正确的是()
A.所有的函数都可以说明为内置函数
B.具有循环语句、switch语句的函数不能说明为内置函数
C.使用内置函数,可以加快程序执行的速度,但会增加程序代码的大小
D.使用内置函数,可以减小程序代码大小,但使程序执行的速度减慢
正确答案:
2.下列函数中,可以作为虚函数的是()。
A.普通函数
B.非静态成员函数
C.构造函数
D.析构函数
正确答案:
北交《面向对象的程序设计》在线作业二
三、判断题(共15道试题,共37.5分。
)
1.在派生过程中,派生类吸收包括构造函数和析构函数在内的所有基类成员。
()
A.错误
B.正确
正确答案:
2.派生类的成员函数可以直接访问基类的所有成员。
()
A.错误
B.正确
正确答案:
3.抽象类中只能有一个纯虚函数。
()
A.错误
B.正确
正确答案:
4.作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。
()
A.错误
B.正确
正确答案:
5.抽象类只能用作其他类的基类。
()
A.错误
B.正确
正确答案:
6.多重继承中,派生类构造函数对其基类构造函数的执行顺序取决于它成员函数初始化表中说明的基类顺序。
()
A.错误
B.正确
正确答案:
7.派生类不能作为基类派生出新类。
()
A.错误
B.正确
正确答案:
8.使用const说明常量时,可以不必指出类型.()
A.错误
B.正确
正确答案:
9.变量必须先定义后赋值。
()
A.错误
B.正确
正确答案:
10.静态数据成员的值是不能改变的。
()
A.错误
B.正确
正确答案:
11.在C++语言中,类是支持数据封装的工具。
()
A.错误
B.正确
正确答案:
12.虚函数不能是类的静态成员。
()
A.错误
B.正确
正确答案:
13.一个类可以作为另一个类的友元类。
()
A.错误
B.正确
正确答案:
14.纯虚函数是一种不给出具体实现的虚函数。
()
A.错误
B.正确
正确答案:
15.类的友元函数可以直接访问该类的所有成员。
()
A.错误
B.正确
正确答案:
北交《面向对象的程序设计》在线作业二
一、单选题(共23道试题,共57.5分。
)
1.以下保留字()不能出现在说明虚函数原型的语句中。
A.static
B.operator
C.void
D.const
正确答案:
2.有如下函数模板定义:
templateTfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()
A.func(3,5);
B.func(3.0,5.5);
C.func(3,5.5);
D.func(3,5.5);
正确答案:
3.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
()
A.ABoperator+(AB&a,AB&b)
B.ABoperator+(AB&a)
C.operator+(ABa)
D.AB&operator+()
正确答案:
4.关于虚函数的描述中,正确的是()
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
正确答案:
5.文件操作中,打开文件的访问模式常量中,()是以追加方式打开文件的。
A.ios:
:
in
B.ios:
:
out
C.ios:
:
binary
D.ios:
:
ate
正确答案:
6.设x和y均为bool量,则x&&y为真的条件是()
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
正确答案:
7.C++语言的跳转语句中,对于break和continue说法正确的是()
A.break语句只应用于循环体中
B.continue语句只应用于循环体中
C.break是无条件跳转语句,continue不是
D.break和continue的跳转范围不够明确,容易产生问题
正确答案:
8.以下错误的描述是()。
函数调用可以
A.出现在一个表达式中
B.出现在执行语句中
C.作为一个函数的实参
D.作为一个函数的形参
正确答案:
9.下列关于运算符重载的叙述中,正确的是()
A.通过运算符重载,可以定义新的运算符
B.有的运算符只能作为成员函数重载
C.若重载运算符+,则相应的运算符函数名是+
D.重载一个二元运算符时,必须声明两个形参
正确答案:
10.下面关于派生类的描述中,()是错的。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,还包含了它的基类的成员
D.派生类中继承的基类成员的访问权限到派生类保持不变
正确答案:
11.下列有关类的说法不正确的是()。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个类只能有一个对象
D.类与对象的关系和数据类型与变量的关系相似
正确答案:
12.下列静态数据成员的特性中,错误的是()
A.说明静态数据成员前边加static
B.静态数据成员要在类体外初始化
C.引用静态数据成员时,要在静态数据成员前加和作用域运算符
D.静态数据成员不是一个类所有对象共享的
正确答案:
13.下列描述中,成员函数中包括()的类肯定是抽象类
A.virtualdoubleArea();
B.virtualdoubleArea()=0;
C.virtualdoubleArea(void){}
D.doubleArea(void)=0;
正确答案:
14.若用数组名作为函数调用时的实参,则实际上传递给形参的是()
A.数组首地址
B.数组的第一个元素值
C.数组中全部元素的值
D.数组元素的个数
正确答案:
15.下列关于派生类可访问它基类成员的描述中,错误的是()。
A.派生类可访问它基类中的成员与继承方式有关
B.派生类不可访问它基类中的私有成员
C.公有继承方式下,派生类可访问它基类的私有成员
D.私有继承方式下,派生类可访问它基类中的公有成员和保护成员
正确答案:
16.for(intx=0,y=0;!
x&&y<=5;y++)语句执行循环的次数是()
A.0
B.5
C.6
D.无数次
正确答案:
17.下列关于类和对象的叙述中,错误的是()
A.一个类只能有一个对象
B.对象是类的具体实例
C.类是对某一类对象的抽象
D.类和对象的关系是一种数据类型与变量的关系
正确答案:
18.下面函数的功能是()。
voidfun(chars1[],chars2[]){while(s2++=s1++);}(
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
正确答案:
19.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()
A.intvect[]={30,50,-88};
B.intvect[]={30,50,-88,0,0};
C.intvect[5]={30,50,-88};
D.intvect[5]={30,50,-88,0,0};
正确答案:
20.假定a为一个整型数组名,则元素a[4]的字节地址为()。
A.a+4
B.a+8
C.a+16
D.a+32
正确答案:
21.对于包括()类型数据成员的用户定义类型必须定义其析构函数
A.static
B.指针类型
C.字符串
D.字符型
正确答案:
22.下列函数中,()是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
正确答案:
23.下列不是C++流对象的是()。
A.cout
B.cin
C.cerr
D.ostream
正确答案:
北交《面向对象的程序设计》在线作业二
二、多选题(共2道试题,共5分。
)
1.下列函数中,可以作为虚函数的是()。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象的程序设计 17 春北交 面向 对象 程序设计 在线 作业