南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[答案]单选题答案
21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业
试卷总分:100 得分:100
一、单选题 (共 35 道试题,共 70 分)
1.下面函数原型声明中,( )声明了fun为纯虚函数。
A.void fun()=0;
正确选项:----
正确选项:----
B.virtual void fun()=0;
C.virtual void fun();
正确选项:----
D.virtual void fun(){};
正确选项:----
2.虚函数必须是类的()。
A.友元函数
B.成员函数
C.构造函数
D.析构函数
正确选项:----
正确选项:----
3.已知X类,则当程序执行到语句 X array[3]; 时,调用了( )次构造函数。
A.0
B.1
C.2
D.3
正确选项:----
4.要求打开文件 d:file.dat,可写入数据,正确的语句是( )。
正确选项:----
A.ifstream infile("d:file.dat", ios::in);
正确选项:----
B.ifstream infile("d:\file.dat", ios::in);
正确选项:----
C.ofstream infile("d:file.dat", ios::out);
正确选项:----
D.fstream infile("d:\file.dat", ios::in| ios::out);
正确选项:----
5.动态联编所支持的多态性是( )。
A.虚函数
B.继承
C.编译时的多态性
D.运行时的多态性
正确选项:----
6.下列运算符中,()运算符在C++中不能重载。
A.?:
B.+
C.-
D.=
正确选项:----
7.基类的()在私有继承时在派生类中为私有成员函数,在公有和保护继承时在派生类中为保护成员函数。
A.私有成员函数
B.保护成员函数
C.公有成员
D.保护数据成员
正确选项:----
8.有关析构函数的说法正确的是( )。
A.析构函数可以有多个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是用来释放一个对象
D.析构函数的函数类型为void
正确选项:----
9.下面对静态数据成员的描述中,正确的是( )。
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象访问
正确选项:----
10.下面对友元的错误描述是( )。
A.关键字friend用于声明友元
正确选项:----
B.一个类的成员函数可以是另一个类的友元
C.友元函数访问对象的成员不受访问特性影响
D.友元函数通过this指针访问对象成员
正确选项:----
11.下面哪个基类中的成员函数表示纯虚函数( )。
A.virtual void vf(int)
正确选项:----
B.void vf(int)=0
正确选项:----
C.virtual void vf()=0
正确选项:----
D.virtual void vf(int)
正确选项:----
12.在C++中,关于下列设置参数默认值的描述中,正确的是( )。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
正确选项:----
13.在保护继承中,基类中的私有成员作为派生类的()。
A.公有成员
B.私有成员
C.保护成员
D.不可访问
正确选项:----
14.关于类和对象不正确的说法是( )。
A.类是一种类型,它封装了数据和操作
B.对象是类的实例
C.一个类的对象只有一个
D.一个对象必属于某个类
正确选项:----
15.面向对象程序设计方法以()为中心进行分析和设计。
A.结构
B.模块
C.对象
D.类
正确选项:----
16.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。
A.ios::in
B.ios::out
C.ios::trunk
D.ios::binary
正确选项:----
17.在C++标准模板库中,vector容器是一种( )。
A.标准类
B.标准对象
C.标准函数
D.标准类模板
正确选项:----
18.下列关于运算符重载的描述中,正确的是()。
A.运算符重载可以改变操作数的个数
B.运算符重载可以改变运算符的优先级
C.运算符重载可以改变运算符的结合性
D.运算符重载可以使运算符实现特殊功能
正确选项:----
19.已知AA是一个类,则执行语句AA a;后( )。
A.自动调用无参构造函数
B.自动调用有参构造函数
C.自动调用拷贝构造函数
D.产生一个对象a,但不调用任何函数
正确选项:----
20.下面关于私有继承方式的论述中错误的是()。
A.基类中的私有成员对其对象不可见
B.基类中的私有成员对其派生类不可见
C.基类中的公有成员对其派生类可见
D.基类中的保护成员对其派生类不可见
正确选项:----
21.( )是析构函数的特征。
A.析构函数可以有一个或多个参数
B.析构函数定义只能在类体内
C.析构函数名与类名不同
D.一个类中只能定义一个析构函数
正确选项:----
22.在C++中,能被派生类继承的函数是( )。
A.成员函数
B.构造函数
C.析构函数
D.拷贝构造函数
正确选项:----
23.已知函数原型:void f(int a, int b=3,char c='*'); 则下面的函数调用中,不合法的调用是()。
正确选项:----
A.f(5)
B.f(5,8)
C.f(6, , '#')
D.f(0,0, '#')
正确选项:----
24.下面关于类的成员函数描述不正确的是()。
A.静态成员函数内可以直接访问类的非静态成员数据
B.静态成员函数内可以直接访问类的静态成员数据
C.非静态成员函数可以直接访问类的非静态成员数据
D.非静态成员函数可以直接访问类的静态成员数据
正确选项:----
25.下列对派生类的描述中错误的是()。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类对其继承的基类的成员访问权限保持不变
正确选项:----
26.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是()。
A.派生类的对象可以直接访问基类的所有成员
B.派生类的对象可以初始化基类的引用
C.派生类的对象不可以直接访问基类中的私有成员
D.派生类的对象的地址可以赋给指向基类的指针
正确选项:----
27.实现运行时的多态性要使用()。
A.构造函数
B.析构函数
C.重载函数
D.虚函数
正确选项:----
28.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.>(obj1,obj2)
C.jobj2.operator>(obj1)
D.obj1.operator(obj2)
正确选项:----
29.下面对析构函数的正确描述是( )。
A.系统不能提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
正确选项:----
30.下列关于C++类的描述中错误的是( )。
A.类与类之间可以通过一些手段进行通信和联络
B.类用于描述事物的属性和对事物的操作
C.类与类之间必须是平等的关系,而不能组成层次关系
D.类与类之间可以通过封装而具有明确的独立性
正确选项:----
31.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则()。
A.完全相同
B.完全不同
C.部分相同,部分不同
D.以上都不对
正确选项:----
32.类模板的模板参数( )。
A.只可作为数据成员的类型
B.只可作为成员函数的返回类型
C.只可作为成员函数的参数类型
D.以上三者皆可
正确选项:----
33.( )只能访问静态成员变量,不能访问非静态成员变量。
A.静态函数
B.虚函数
C.构造函数
D.析构函数
34.有关带默认参数的函数的描述正确的是()。
A.只能在函数定义时设置默认参数值
B.只能在函数声明时设置默认参数值
C.函数调用时,必须使用默认的参数值,不能给出新的实参值
D.设置默认参数时,应该设置最右边的若干个参数的默认值
正确选项:----
35.声明一个类的对象时,系统自动调用( )函数。
A.成员函数
B.构造函数
C.析构函数
D.普通函数
正确选项:----
南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[答案]多选题答案
二、判断题 (共 15 道试题,共 30 分)
36.类中的静态数据成员为该类的所有对象所共享,并且,在该类对象被销毁时,静态数据成员不会被同时销毁。
37.类模板可以使用两种形式的参数,分别是类型参数和普通单数。
38.C++语言中,既允许单继承,又允许多继承。
39.函数的定义不可以嵌套,类的定义可以嵌套。
40.类的成员函数中可以直接访问对象成员中的私有成员。
41.基类类型的指针可以指向其派生类对象。
42.对象成员的访问与结构变量成员的访问相同,使用运算符.或->。
43.含有纯虚函数的类是抽象类。
44.一个类的静态数据成员被该类的所有对象共享。
45.设在程序中使用如下语句申请了一个对象数组:Point *ptr=new Point[2]; 当要释放ptr指向的动态数组对象时,所使用的语句是delete ptr。
正确选项:----
46.对虚函数的调用,系统都是采用动态联编。
47.在派生类对象销毁时,系统除了会自动调用派生类的析构函数,还会自动调用基类的析构函数。
48.在类体中可以在声明成员变量的同时为其赋初值。
49.一般将C++中的类声明和类实现分别放到两个文件中。
50.重载的运算符保持原来的优先级和结合性以及操作数的个数。
南开21春学期(1709、1803、1809、1903、1909、2003、2009、2103)《面向对象程序设计》在线作业[答案]历年真题如下:
福师《面向对象的程序设计》在线作业二-0001
试卷总分:100 得分:100
一、单选题 (共 9 道试题,共 18 分)
1.OCL最初由()公司设计成功,由Jos Warmer和Steve Cook等人从一个项目中得到灵感而产生的。
A.联想
B.Oracle
C.Microsoft
D.IBM
2.RUP的核心工作流中,分为()个核心过程工作流和3个核心支持工作流。
A.7
B.6
C.5
D.4
3.在UML中,包含关系表示为虚线箭头加()字样。
A.<<include>>
B.<<generalization>>
C.<<extend>>
D.<<association>>
4.下列哪个关系指明一个事物的对象与另一个事物的对象之间的联系。
A.聚合关系
B.泛化关系
C.实现关系
D.关联关系
E.依赖关系
5.要表示一个构造型,可以将构造型名称用一对()括起来,然后放置在构造型模型元素名字的邻近。
A.无需括号
B.方括号
C.尖括号
D.圆括号
6.UML的四层模型体系结构中,运行时实例层通常称为()层
A.M3
B.M2
C.M1
D.M0
7.RUP的中文全称是()
A.面向对象程序设计
B.统一联合过程
C.统一开发过程
D.类的实现
8.瀑布模型由B.M.Boehm于()年首先提出。
A.1988
B.1971
C.1970
D.1960
9.并发视图由状态图、(),以及活动图组成。
A.类图
B.用例图
C.时序图
D.协作图
二、多选题 (共 18 道试题,共 36 分)
10.用例图中的参与者有三大类,分别是()
A.系统用户
B.其它无关用户
C.与所建造的系统交互的其他系统
D.一些可以运行的进程
11.UML中的视图大致分为如下几种()
A.配置视图
B.逻辑视图
C.组件视图
D.用例视图
E.并发视图
12.事件流通常包括()和事后事件
A.简要说明
B.前提条件
C.其他事件流
D.主事件流
13.多态性包括以下几种()
A.通过继承实现多态性
B.通过抽象类实现的多态性
C.运行时的多态性
D.编译时的多态性
14.以下组件中,哪些属于执行组件的例子。
A.XML文档
B.Servlets
C.HTML
D.Enterprise Java Beans
15.配置图中通常包含两种元素,分别是()。
A.节点
B.接口
C.关联关系
D.依赖关系
16.组成UML的图形元素有()和判定等。
A.转换
B.终结状态
C.状态
D.初始状态
17.组件图中通常包含以下几个元素。
A.组件
B.接口
C.关联关系
D.依赖关系
18.在UML中,类用矩形来表示,并且该矩形被划分为以下几部分:()。
A.操作部分
B.属性部分
C.备注部分
D.名称部分
19.用例图包含的元素分别是:参与者、(),以及泛化关系。
A.用例
B.扩展关系
C.包含关系
D.关联关系
20.UML的结构事物共有类、( )、组件、节点。
A.用例
B.活动类
C.接口
D.协作
21.一般,软件项目失败原因包括以下几种:缺少有效的测试、对项目状态的主观估计、没有正确地处理项目开发过程中的风险、没有对项目变更进行控制,以及()。
A.混乱的需求管理
B.没有发现需求、设计和实现中的不一致
C.架构不够牢固
D.开发者之间以及开发者和用户不清晰的交流
22.状态图的图标可以分为以下几个部分:()。
A.操作
B.嵌套状态图
C.名称
D.内部转换
23.类图包含的元素分别是:类、接口、协作、()。
A.泛化关系
B.实现关系
C.关联关系
D.依赖关系
24.配置图一般用于对系统的实现视图建模,建模的时候要找出系统中的节点以及节点之间的关联关系,具体的建模步骤包括()。
A.对驻留在节点上的配置建模
B.对驻留在节点上的配置之间的依赖关系建模
C.对节点之间的关联关系建模
D.对系统中的节点建模
E.对建模的结果进行精华和细化。
25.状态机由()和动作组成
A.转换
B.状态
C.活动
D.事件
26.UML元模型由UML包的内容来规定,其中UML包分成用于()和()建模的包。
A.行为性
B.结构性
C.数据性
D.操作性
27.UML的活动图中包含的图形元素有动作状态、()、泳道和对象流等。
A.活动状态
B.动作流
C.分支与合并
D.分叉与汇合
三、判断题 (共 23 道试题,共 46 分)
28.在UML中,组件用一个左侧带有两个突出小矩形的矩形来表示。
29.用例图显示多个外部参与者以及他们与系统提供的用例之间的连接。
30.软件工程是一种层次化的技术,任何工程都必须以有组织的质量保证为基础。