面向对象技术(本)阶段练习四资料

合集下载

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案形考任务1一、单项选择题(每题1分,共20分)1.Java是一门()语言。

a. 汇编b. 面向对象的高级c. 面向过程的高级d. 机器2.机器语言中的指令编码为()编码。

a. 符号b. 数字c. 十进制d. 二进制3.更接近人类自然语言的计算机语言是()语言。

a. 高级b. 机器c. 数字d. 汇编4.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

a. 重量b. 颜色c. 状态d. 动态5.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

a. 成分b. 元素c. 产品d. 实例6.Java语言的主要特点不包括()。

a. 可移植性b. 处理文件c. 面向对象d. 自动垃圾回收7.Java语言的主要特点不包括()。

a. 解释执行b. 处理字符串c. 多线程d. 安全性8.具有相同属性和服务的一组对象的模板称为()。

a. 代码b. 概念c. 类d. 程序9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。

a. 继承性b. 封装性c. 开放性d. 多态性10.使用JDK编译Java程序时使用的命令是()。

a. javadocb. javacc. appletviewerd. java11.组成Java程序的最小单位是()。

a. 方法b. 常量d. 类12.在Java程序中包含主方法的类被称为主类,主方法名为()。

a. voidb. mainc. Maind. args13.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。

a. privateb. staticc. publicd. protected14.在Java程序中包含主方法的类被称为主类,主方法的存储控制属性应定义为()。

a. staticb. shortc. finald. abstract15.Java语言中的基本数据类型有9种,其中属于数值型的数据类型有()种。

面向对象 第四次作业

面向对象 第四次作业

面向对象程序设计技术作业四一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的使其初始化。

2、当一个类对象被撤消时将自动调用该类的。

3、对基类数据成员的初始化是通过执行派生类构造函数中的来实现的。

4、对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。

5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先,后,最后为。

6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成的析构函数定义体的执行,接着完成的析构函数定义体的执行,最后完成的析构函数定义体的执行。

7、设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的。

8、当一个类对象离开它的作用域时,系统将自动调用该类的。

9、假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为。

10、假定AB为一个类,则执行”AB a[10];”语句时,系统自动调用该类构造函数的次数为。

11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为。

12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为。

13、若需要把一个函数”void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:。

14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:。

15、假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为。

16、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为。

17、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为。

18、假定AB为一个类,则该类的拷贝构造函数的声明语句为。

19、对类对象成员的初始化是通过执行构造函数中的完成的。

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程序设计》课程知识 复习 学习材料 试题与参考答案

《面向对象程度设计》课程知识复习学习材料试题与参考答案一、单选题1.下列(C)的调用方式是引用调用。

A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值2.假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的(B)。

A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数3.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a 的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。

A.x.aB.x.a()C.x->GetValue()D.x.GetValue()4.C++编译系统确定调用是具体对象的过程称为关联。

C++有(B)关联。

A.1种B.2种C.3种D.4种5.下面有关重载函数的说法中正确的是(C)。

A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同6.如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为(C)。

A.a.operator==(b)B.b.operator==(a)C.operator==(a,b)D.operator==(b,a)7.下列对继承关系的描述中,(D)是正确的。

A.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的;B.在公有继承中,基类中只有公有成员对派生类的对象是可见的;C.在私有继承中,基类中只有公有成员对派生类是可见的;D.在私有继承中,基类中的保护成员对派生类的对象是可见的;8.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为(A)。

A.int *p=new int[30];B.int *p=new int(30);C.int *p=new [30];D.*p=new int[30];9.在一个类中可以对一个运算符进行(D)重载。

面向对象练习题

面向对象练习题

面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。

该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家订购商。

所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。

客户可以预定录像带并在指定日期来取。

系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分2.试用用例图描述小型图书资料管理系统。

某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。

注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读电子文献资料。

3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。

各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。

当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。

此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后的处理4 .请就此需求建立功能模型:某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

面向对象技术(本)阶段练习四资料

面向对象技术(本)阶段练习四资料

《面向对象技术(本)》课程第四阶段练习题、填充题1超类的private成员不能被子类继承。

2.在声明一个类变量时,前面必须要加上static修饰符。

3. import java.util.*;语句可导入Java的实用包中所有的类。

4.方法的覆盖是后期绑定,方法的重载是前期绑定。

5.写出一个表达式:输出角度300的余弦值Math.cos(30*3.14/I80。

二、选择题旦1.找出有关类的正确说法。

a. 类具有封装性,所以类的数据是不能被访问的。

b. 类具有封装性,但可以通过类的公共接口访问类中的数据。

c. 声明一个类时,必须用Public修饰符。

d. 每个类中,必须有main方法,否则程序无法运行。

e.A 2.将类的成员的访问权限设置为默认的,则该成员能被a. 同一包中的类访问b. 其它包中的类访问c. 所有的类访问d. 所有的类的子类访问C 3.下面哪一种是正确的方法重栽a. int fun (i nt afloat b{} float fun (i nt a,float b{}b. float fun (i nt a,float b{}float fun (i nt x,float y{}c. float fun( float a{}float fun (float a,float b{}d. flaot fun 1(i nt a,float b{}float fun 2(i nt a,float b{}D 4.下面关于继承的说法那个是正确的a. 超类的对象就是子类的对象。

b. 一个类可以有几个超类。

c. 一个类只能有一个子类。

d. 一个类只能有一个超类。

C 5.下面关于多态性的说法那个是正确的a. 一个类中,不能有同名的方法。

b. 子类中不能有和父类中同名的方法。

c. 子类中可以有和父类中同名且参数相同的方法。

d. 多态性就是方法的名字可以一样,但返回的类型必须不一样。

三、简答题1. 什么是类,什么是对象?在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的事物的抽象。

软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)

软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)

}
public void run(){ //结束条件设定为,当卡内资金大于 100 元时,线程 OVER while(this.mycard.getMoney()<=100){ AddSystem.addMoney(this.mycard); } System.out.println("资金大于 100 元,该线程 OVER"); System.out.println("");
}
public void addMoney(float addmoney){
money=money+addmoney;
//金额累加:
System.out.println("充值完毕,增加了"+addmoney+"元钱lass Student extends Thread{
money=0; id=0; name="No"; }
Card(int id, String name){ money=0;
this.id=id;
=name; }
public float getMoney(){
return money; }
public void dispInformation() { System.out.println("该一卡通考号为:"+id+"号");
}
public void dispInformation() { System.out.println("******************************"); System.out.println("该学生的基本信息如下:"); System.out.println("姓名-------:"+name);

面向对象技术与C++(4)答案

面向对象技术与C++(4)答案

《面向对象技术与C++》试卷答案(4)第一题填充题(10分,每1个空格1分)1.在VC++中,编译器所生成的文件的扩展名为(obj)。

2.与系统中标准设备对应的四个流对象是(cin) 、(cout) 、cerr 和 clog。

3.在类定义中,将(=0)置于成员函数原型的末尾可以声明该函数为纯虚函数,含有纯虚函数的类被称为(抽象)类。

4.关键字(operator)引出了重载运算符函数的定义。

5.一般应将重载的流运算符定义为类的(非成员)函数。

6.(类模板) 提供了一种描述通用类的方法。

7.(构造函数) 是用来初始化类的数据成员的一种特殊的成员函数。

8.在VC++中,C++的源程序文件的扩展名为(cpp)。

第二题指出下列程序段中的错误,说明错误原因(10分,每1小题5分)1.class Complex { //表示复数的类声明public:void Complex (double,double); //第1个参数为实部,第2个参数为虚部// 其他成员函数的原型说明private:void Complex ( ); //默认复数的实部表示为0,虚部表示为0int real = 0 , image = 0;}1) void Complex(); 构造函数的访问属性应为public2) 两个构造函数均不能指定返回类型3)int real = 0 , image = 0; 不能直接赋初值4)最后少了一个分号(;)2.class C {public:void C(int s = 30) const { contents = new int[s]; }void ~C(int s = 30) const { cout << ”this object is destroyed” << endl; } private:int* contents;} ;1) 构造函数不能指定返回类型2) 析构函数不能指定返回类型3) 构造函数不能是const成员函数4)析构函数不能包含参数5)析构函数中需要使用delete操作符释放构造函数中使用new操作符申请的自由内存第三题选择题 (10分,每1个空格1分)1.在VC++中,可执行文件的文件扩展名为(D)[A] .cpp[B] .obj[C] .dsw[D] .exe2.定义一个类的输入运算符时,应将函数定义为(B)[A] 类的成员函数[B] 类的非成员函数[C] const成员函数[D] static成员函数3.不定义而能直接使用的运算符是(B)和(D)。

2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

2020年电大面向对象程序设计期末复习题4及参考答案(经典复习考试题)

1. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。

A. cpp B. exe C. objD. lik2.设x和y均为bool量,则x && y为真的条件是( A )。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假3. 在下面的二维数组定义中,正确的语句是( C )。

A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}};D. int a[](10);4. 在文件包含命令中,被包含文件的扩展名( C )。

A. 必须是.h B. 不能是.h C. 可以是.h或.cppD. 必须是.cpp5. 要使语句“p=new int[10][20];”正确,p应事先定义为( D )。

A. int *p; B. int **p; C. int *p[20];D. int(*p)[20];6. 在关键字public后面定义的成员为该类的( B )成员。

A. 私有 B. 公用 C. 保护 D. 任何7. 假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为( A )。

A.a B. AA::a C. a() D. AA::a()8. 队列具有(A )的操作特性。

A. 先进先出 B. 先进后出 C. 进出无序 D. 仅进不出9. 假定AB为一个类,则执行”AB a, b(3), *p;”语句时共调用该类构造函数的次数为( D )次。

A. 5 B.4 C. 3 D. 210. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( B )。

A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符1. 当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到____下一行____的开始位置。

(国开)面向对象程序设计形考任务4

(国开)面向对象程序设计形考任务4

2024国家开放大学《面向对象程序设计》形考任务4(预备知识:第7,8章;分值:25分)一、单项选择题(每题1分,共10分)1.下面()既可以作为流的数据源,又可以作为流的目的地。

单选题(1 分) 1分A.键盘B.磁盘文件C.显示器D.扫描仪2.进行文件输入输出操作时,最常用的系统包是()。

单选题(1 分) 1分A.java.iongC.java.utilD.java.awt3.Java中有3个标准输入/输出流,下面的()不包含在内。

单选题(1 分) 1分A.System.inB.System.outC. System.errD.System.cur4.在读字符文件Employee.dat 时,使用该文件作为参数的类是()。

单选题(1 分) 0分A.BufferedReaderB.DataInputStreamC.DataOutputStreamD.FileInputStream5.下列不是InputStream 子类的是()。

单选题(1 分) 1分A. FileInputStreamB.ObjectInputStreamC.FileOutputStreamD.ZipInputStream6.下列哪个类不是异常类的父类?()。

单选题(1 分) 0分A.ErrorB.ThrowableC.ExceptionD.Object7.下面的关键字()与异常处理无关。

单选题(1 分) 1分A.throwB.voidC.throwsD.try8.下面的异常()为数组下标越界异常。

单选题(1 分) 1分A.ArithmeticExceptionB.NullPointerExceptionC.ArrayIndexOutOfBoundsExceptionD.FileNotFoundException9.下面()既可以作为流的数据源,又可以作为流的目的地。

单选题(1 分) 1分A.键盘B.磁盘文件C.显示器D.扫描仪10.Java中有3个标准输入/输出流,下面的()不包含在内。

面向对象_练习

面向对象_练习

课堂练习一、填空题1、对象是抽象的类,类的具体化就是()。

2、继承性是父类和子类之间()和消息的机制。

3、面向对象的设计的主要目标是提高生产效率,提高质量和提高()。

4、对象模型描述了系统的(),它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

5、面向对象技术中的“类”,是比较理想的()。

参考答案:1.对象2、共享数据结构3、可维护性4、静态结构5、可重用软构件二、判断题1、继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。

()2、多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。

( )3、面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。

( )4、面向对象的设计的主要目标是提高生产效率,提高质量和提高可维护性。

()5、对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。

()参考答案:1、(×) 2、(×) 3、(√) 4、(√) 5、(√)三、多项选择题1、面向对象程序设计的基本机制()。

A) 继承B) 消息C) 方法D) 结构E)抽象2、下列属于Coad方法中面向对象的分析模型的层次有()。

A) 主题层B) 对象层C) 应用层D) 接口层E)数据层3、一个类属性依其特征划分,其类型有()。

A) 描述型B) 定义型C) 派生型D) 参考型E)应用型4、在进行面向对象分析时,所采用的模型有()。

A) 对象模型B) 动态模型C) 静态模型D) 功能模型E)接口模型5、状态是对象属性的值的一种抽象,它的性质有()。

A) 时间性B) 持续性C) 有序性D) 有穷性E)无序性参考答案:1、ABC 2、AB 3、ABCD 4、ABD 5、AB 四、问答题1、什么是面向对象方法学?它有哪些优点?参考答案:面向对象方法是一种运用对象、类、继承、封装、聚合、消息、多态等概念来构造系统的软件开发方法。

《面向对象程序设计》习题四答案

《面向对象程序设计》习题四答案

面向对象程序设计习题4
(3) 下列程序中,基类base和派生类d1、d2中都含有私有、 保护和公有成员,d1类是base的派生类,d2是d1问属性的变化
面向对象程序设计习题4 #include <iostream.h> #include <iostream.h> class base class base {{private: int n1; private: int n1; protected: int k1; protected: int k1; public: public: base(){n1=0;k1=1;} base(){n1=0;k1=1;} void fun1(){cout<<n1<<k1<<endl;} }; void fun1(){cout<<n1<<k1<<endl;} }; class d1:public base class d1:public base {{ int n2; int n2; protected: protected: int k2; int k2; public: public: d1(){n2=10;k2=11;} d1(){n2=10;k2=11;} void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; void fun2(){cout<<n1<<k1<<endl; cout<<n2<<k2<<endl;} }; class d2:public d1 class d2:public d1 {{ int n3; int n3; protected: protected: int k3; int k3; public: public: d2(){n3=20;k3=21;} d2(){n3=20;k3=21;} void fun3() void fun3()

C++面向对象技术复习题汇总(含答案)演示教学

C++面向对象技术复习题汇总(含答案)演示教学

C++面向对象技术复习题汇总(含答案)演示教学面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。

国开(四川)02372-面向对象程序设计-第4次形成性考核-参考资料

国开(四川)02372-面向对象程序设计-第4次形成性考核-参考资料

面向对象程序设计-第4次形成性考核-辅导资料
说明:如果课程题目是随机的,请按CTRL+F在题库中逐一搜索每一道题的答案
特殊说明请仔细:课程的题目每学期都可能更换,所以请仔细核对是不是您需要的题目再下载!!!!
第1题
下列哪个类不是异常类的父类?()。

a. Object
b. Exception
c. Error
d. Throwable
【正确的答案是】:Error
第2题
下面的异常()不属于非检查型异常。

a. IO异常
b. 数组越界
c. 空值操作
d. 除零
【正确的答案是】:IO异常
第3题
下面的关键字()与异常处理无关。

a. try
b. void
c. throw
d. throws
【正确的答案是】:void
第4题
下面的关键字()与异常处理无关。

a. finally
b. throws
c. import
d. throw
【正确的答案是】:import
第5题
下面的关键字()与异常处理无关。

a. switch
b. finally
c. catch
d. try
【正确的答案是】:switch
第6题
在java语言中,捕获和处理异常的语句块为()。

a. if…else
b. try…catch
c. switch…case。

2021年面向对象程序设计形成性考核册作业四

2021年面向对象程序设计形成性考核册作业四

面向对象程序设计形成性考核册作业四一、填空题:1. 设px是指向一种类对象指针变量,则执行“delete px;”语句时,将自动调用该类( C )。

A. 无参构造函数B. 带参构造函数C. 析构函数D. 拷贝构造函数2. 假定AB为一种类,则执行“AB a[10];”语句时调用该类无参构造函多次数为( D )。

A. 0B. 1C. 9D. 103. 假定AB为一种类,则执行“AB a(2),b[3],*p[4];”语句时共调用该类构造函多次数为( B )。

A. 3B. 4C. 5D. 94. 假定AB为一种类,px为指向该类一种具有n个对象动态数组指针,则执行“delete []px;”语句时共调用该类析构函多次数为( C )。

A. 0B. 1C. nD. n+15. 对类中引用成员初始化是通过构造函数中给出( C )实现。

A. 函数体B. 参数表C. 初始化表D. 初始化表或函数体6. 一种类静态数据成员所示属性 ( C )。

A. 是类或对象属性B. 只是对象属性C. 只是类属性D. 类和友元属性7. 被非静态成员函数访问类数据成员(A )。

A. 可以是非静态数据成员或静态数据成员B. 不也许是类静态数据成员C. 只能是类非静态数据成员D. 只能是类静态数据成员8. 引入友元重要目是为了(C)。

A. 增强数据安全性B. 提高程序可靠性C. 提高程序效率和灵活性D. 保证类封装性9. 在重载一种运算符时,其参数表中没有任何参数,这表白该运算符是( B)。

A. 作为友元函数重载1元运算符B. 作为成员函数重载1元运算符C. 作为友元函数重载2元运算符D. 作为成员函数重载2元运算符10. 如果表达式a+b中“+”是作为成员函数重载运算符,若采用运算符函数调用格式,则可表达为(A)。

A. a.operator+(b)B. b.operator+(a)C. operator+(a,b)D. operator(a+b)11. 如果表达式++a中“++”是作为成员函数重载运算符,若采用运算符函数调用格式,则可表达为(D)。

国开(四川)02372《面向对象程序设计》第4次形成性考核复习资料答案

国开(四川)02372《面向对象程序设计》第4次形成性考核复习资料答案

面向对象程序设计-第4次形成性考核作业资料答案
说明:每学期的课程题目都可能更换,请认真核对是您需要的题目后再下载!
【题目】
下列哪个类不是异常类的父类?()。

a. Object
b. Exception
c. Error
d. Throwable
[请认真阅读以上题目,运用所学知识完成作答]
参考答案:Error
【题目】
下面的异常()不属于非检查型异常。

a. IO异常
b. 数组越界
c. 空值操作
d. 除零
[请认真阅读以上题目,运用所学知识完成作答]
参考答案:IO异常
【题目】
下面的关键字()与异常处理无关。

a. try
b. void
c. throw
d. throws
[请认真阅读以上题目,运用所学知识完成作答]
参考答案:void
【题目】
下面的关键字()与异常处理无关。

a. finally
b. throws
c. import
d. throw
[请认真阅读以上题目,运用所学知识完成作答]
参考答案:import
【题目】
下面的关键字()与异常处理无关。

a. switch
b. finally。

面向对象程序设计资料整理长大

面向对象程序设计资料整理长大

面向对象程序设计复习资料(2328)一、单项选择题1.假设P是指针, 声明指针s引用指针p正确方法是( )A.int* s&=p B.int &*s=p C.int *&s=pD.int s* &=p2.在C+ +中, 能够为类的所有成员共享的是( )A、枚举成员B、公有数据成员C、私有函数成员D、公有函数成员3.C+ +中, 下列哪个关键字不能提供封装。

( )A、 structB、 unionC、 classD、 case4.下而关于类的复制构造函数的说法正确的是( )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.-50D.无法确定9.所有在函数外面定义的变量, 连同形式参数, 都属于( )A、局部变量B、全局变量C、静态变量D、寄存器变量10.面向对象的程序中, 哪项不是对象的特点。

( )A、多态性B、抽象性和封装性C、中断D、继承性11.下面在半初始化说法正确的是( )A.初始化列表能够初始化任何类B.初始化列表也也能够初始化具有私有成员的类C.初始化列表只能初始化公有数据成员D.初始化列表能够初始化所有数据成员12.产生编译时的多态性的必要条件是使用( )A.静态成员 B.友元函数 C.重载成员函数D.虚函数13.operator经常和C++的一个运算符连用,构成一个运算符函数名.运算符函数的返回类型不能是( )A.voidB.charC.intD.float14.下面是对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.h29.下面关于类模板叙述不正确的是( )A.声明类模板”; ”号结束B.不能重载运算符C.能够使用友元函数D.能使用虚函数30.系统不会为类自动建立什么成员函数( )A.默认构造函数 B.默认析构函数C.默认虚析构函数D.默认赋值运算赋二、填空题:1.函数 int * func(void)的返回类型是__ _ __.2.C+ +中, 关键字用作联合.3.关键字virtual能够用来声明类.4.抽象类至少要含有一个 ,这种函数属于虚函数5.成员函数”void print( )const;”是类的函数, 它只能被const对象调用。

面向对象程序设计习题及答案

面向对象程序设计习题及答案

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的。

(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。

(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。

(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。

(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。

(A), (B):(C)?(D);6.在16位机中,int型字宽为(A)字节。

(A)2 (B)4 (C)6 (D)87.类型修饰符unsigned修饰(D)类型是错误的。

(A)char (B)int (C)long int (D)float8.对于int *pa[5];的描述,(D)是正确的。

(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9.下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针。

(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加。

10.指针可以用来表示数组元素,下列表示中(A)是错误的。

已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3) (C)*(*(a+1)) (D)*(&a[0][0]+2) 11.下列表示引用的方法中,(A)是正确的。

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

《面向对象技术(本)》课程第四阶段练习题
、填充题
1超类的private成员不能被子类继承。

2.在声明一个类变量时,前面必须要加上static修饰符。

3. import java.util.*;语句可导入Java的实用包中所有的类。

4.方法的覆盖是后期绑定,方法的重载是前期绑定。

5.写出一个表达式:输出角度300的余弦值Math.cos(30*3.14/I80。

二、选择题
旦1.找出有关类的正确说法。

a. 类具有封装性,所以类的数据是不能被访问的。

b. 类具有封装性,但可以通过类的公共接口访问类
中的数据。

c. 声明一个类时,必须用Public修饰符。

d. 每个类中,必须有main方法,否则程序无法运
行。

e.
A 2.将类的成员的访问权限设置为默认的,则该成员能被
a. 同一包中的类访问
b. 其它包中的类访问
c. 所有的类访问
d. 所有的类的子类访问
C 3.下面哪一种是正确的方法重栽
a. int fun (i nt afloat b{} float fun (i nt a,float b{}
b. float fun (i nt a,float b{}
float fun (i nt x,float y{}
c. float fun( float a{}
float fun (float a,float b{}
d. flaot fun 1(i nt a,float b{}
float fun 2(i nt a,float b{}
D 4.下面关于继承的说法那个是正确的
a. 超类的对象就是子类的对象。

b. 一个类可以有几个超类。

c. 一个类只能有一个子类。

d. 一个类只能有一个超类。

C 5.下面关于多态性的说法那个是正确的
a. 一个类中,不能有同名的方法。

b. 子类中不能有和父类中同名的方法。

c. 子类中可以有和父类中同名且参数相同的方法。

d. 多态性就是方法的名字可以一样,但返回的类型必须不一样。

三、简答题
1. 什么是类,什么是对象?
在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的
事物的抽象。

在类中包含了变量和与变量有关的操作(方法)。

对象是类
电话”类代表电话
的实例。

类和对象的关系就如同属性类型和变量的关系。

例如, 这一类事物,而电话的对象代表一个具体的电话。

2. 类的封装的目的是什么? 当外部的类可以没有限制地直接访问、修改类中变量时,是非常危险的。

因此必须 限制类的外部程序对类内部成员的访问,这就是类的封装目的。

类把属性和方法封 装起来,同时创建一些允许外部访问的方法,通过这样的方法来访问类的成员变 量。

封装的另一目的是细节屏蔽,便于程序功能的扩展和程序的维护。

3. Java 中有几种访问权限,各种访问权限的级别是什么?
Java 中有四种访问权限: 公有的(Public 、保护的(protected 默认的、私有的 (P rivate 。

各种权限的访问级别如下表:
null 表示空对象,即没有创建类的任何实例。

当我们声明对象时,如果没有用 new 实例化时,此时它就被初始化为一个特殊的值 “null 。

”而当我们在类的方法定义中 “thi s 表示。

up er 表示对某个类的超类 的引
用,用super 来引用被子类屏蔽的超类的成员。

5.什么是最终类和抽象类?
不能被继承的类称为最终类。

在声明类时,用 final 将类声明为最终类,这样此方 法不会在子类中被覆盖(即子类中不能有和此方法同名的方法)。

抽象类则是必须 P ublic P rotected private 同一类 允许 允许 允许 允许 null 、this 、 同一包 允许 允许 允许 不允许 不同包的子 类 所有类 允许 允许 允许 不允许 不允许 super 对象运算符分另j 表示什么? 不允许
不允许
不允许
需要引用正在使用该方法的对象时,可以用
被子类覆盖的类。

在声明类或方法时,用关键字abstract可以将类或方法声明为抽
象类或方法。

抽象方法没有方法体,含有抽象方法的类即为抽象类,它是不能实例化的类。

6.什么是多态性,什么重载和覆盖?
多态性是面向对象程序设计的重要特征,是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。

多态性是通过方法的重载(overloadi ng和覆盖(override来实现。

方法的重载是指在一个类中,有若干个方法名字相同,但方法的参数不同,在调用时,根据参数的不同来决定执行那个方法。

重载的关键是参数必须不同,即参数的类型或个数必须不同。

如果在子类和超类中有同名的方法(参数也相同),子类中的方法将覆盖超类的方法,这就是覆盖。

通过覆盖可以使同名的方法在不同层次的类中有不同的实现。

四、编程题
1 .声明一个类Person成员变量有姓名、年龄、性别。

有成员方法以显示
姓名、年龄和性别。

class Person {
String n ame;
int age;
String sex;
p ublic String showName( { return n ame;
p ublic int showAge( { retur n age;
p ublic String showSex;( { retur n sex;
2.声明一个矩形类Rectangle,提供2个方法计算矩形的周长和面
积。

并用main方法来测试。

public class Reta ngle { private double len gth;
p rivate double width;
public Retangle(doublel, double w { leng th=l;
width=w;
p ublic double calc Penmeter( { return 2*(le ngth + width;
p ublic double calcAera( { return len gth * widthv;
public static woid main( Strin gH args {
Reta ngle areta ngle = Reta ngle(640m480;
System.out.println(面积是:” + aretangle.calcArea( +周长是:” + areta ngle. calc Perimeter (;。

相关文档
最新文档