面向对象第四次作业任务答案解析
国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案
![国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案](https://img.taocdn.com/s3/m/e0712206240c844769eaeeec.png)
国家开放大学《面向对象程序设计(本)》形考任务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种,其中属于数值型的数据类型有()种。
《软件工程导论》课后习题答案
![《软件工程导论》课后习题答案](https://img.taocdn.com/s3/m/1e28be0e76c66137ee0619d9.png)
作业及解答(第3章)
• 数据结构的描述 符 号
= +
含 义
x = a+b
举
例
被定义为 与 或
[...,...] 或 [...|...] { ... }或 m{...}n (...) “...” ..
23:59:38
x = [a , b],x = [a | b] 重复 x = {a}, x = 3{a}8 可选 x = (a) 基本数据元素 x = “a” 连结符 x = 1..9
P1 记录存款信息
P2 打印存单 F5存款信息 F3存单 E1 储户 F4利息
F5存款信息 D1存款信息 F7密码 F2取款单
F5存款信息 P3 核算密码
F4利息 F4利息 F6取款信息 P6 设置利率 P4 计算利息
P5 打印利息清单 F8储蓄利率
E2 业务员
23:59:38
F8储蓄利率
F8储蓄利率
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
23:59:38
重庆工学院计算机科学与工程学院 李梁(liliang@) 李梁
作业及解答( 作业及解答(第3章)
• 3-6 复印机的工作过程大致如下:未接到复印 命令时处于闲置状态,一旦接到复印命令则进 入复印状态,完成一个复印命令规定的工作后 又回到闲置状态,等待下一个复印命令;如果 执行复印命令时发现没纸,则进入缺纸状态, 发出警告,等待装纸,装满纸后进入闲置状态, 准备接收复印命令;如果复印时发生卡纸故障, 则进入卡纸状态,发出警告等待维修人员来排 除故障,故障排除后回到闲置状态。 • 请用状态转换图描绘复印机的行为。
软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)
![软件工程专业《面向对象技术》课程的课后作业参考答案(第4部分)](https://img.taocdn.com/s3/m/8e0f9092ec3a87c24028c41f.png)
}
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);
作业四 面向对象需求建模解答(第9-11章)
![作业四 面向对象需求建模解答(第9-11章)](https://img.taocdn.com/s3/m/8d0bd80e866fb84ae45c8d9d.png)
作业四面向对象需求建模(第9-11章)4-1、根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料由出物口掉出,并自动结算及找钱。
顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
4-2、请画出一个用户使用银行ATM的状态转换图。
从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
4-3、某公安报警系统在一些公安重要保护单位(银行、学校等)安装了报警装置,其工作过程如下:一旦发生意外事故,故事发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。
110警车立即出动前往出事地点。
值班人员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。
根据以上情况进行分析,确定本系统有哪些用例、对象,画出用例图、类图及顺序图。
下面是某位同学做的用例:按报警按钮,向公安局发出警报信息,显示报警单位地址电话,110警车前往出事地点,值班人员接通事故单位的电话、问清情况,增派公安人员对象:事故单位、报警系统、公安局、值班人员、公安人员,警车类图:用例图:事故单位报警系统值班人员顺序图:4-4、小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
兰大《面向对象程序设计》15春在线作业4 答案
![兰大《面向对象程序设计》15春在线作业4 答案](https://img.taocdn.com/s3/m/130601dd33d4b14e8524689b.png)
《面向对象程序设计》15春在线作业4一、单选题(共13 道试题,共52 分。
)1. 以下不合法的字符常量是()A. \018'B. '\”'C. '\\'D. ‘\xcc'正确答案:A2. 以下叙述中正确的是()A. 预处理命令行必须位于C源程序的起始位置B. 在C语言中,预处理命令行都以“#”开头C. 每个C程序必须在开头包括预处理命令行:#includeD. C语言的预处理不能实现宏定义和条件编译的功能正确答案:C3. 在下列关键字中,不能用来表示继承方式的是()A. privateB. staticC. publicD. protected正确答案:B4. 通过()调用虚函数时,采用动态束定A. 对象指针B. 对象名C. 成员限定D. 派生类名正确答案:A5. 有以下程序main() { char *p[]={"3697","2584"}; int i,j; long num=0; for(i=0;i<2;i++) {j=0; while(p[i][j]!='\0') { if((p[i][j]-‘0')%2)num=10*num+p[i][j]-'0'; j+=2; } } printf("%d\n"num); } 程序执行后的输出结果是()A. 35B. 37C. 39D. 3975正确答案:C6. C++语言的跳转语句中,对于break和continue说法正确的是()A. break语句只应用于循环体中。
2023年物业信息管理国家开放大学形考作业四平时作业四形成性考核 (第四次)
![2023年物业信息管理国家开放大学形考作业四平时作业四形成性考核 (第四次)](https://img.taocdn.com/s3/m/3c88e2520a1c59eef8c75fbfc77da26925c59687.png)
2023年物业信息管理国家开放大学形考作业四平时作业四形成性考核(第四次)1.无论32位计算机还是64位计算机,在一个主存储器单元中存放的数仍然是( )位的,只不过在计算机运行时,一次可以对2个存储单元或4个存储单元进行访问。
单选题(2.5分)A.2B.4C.6D.8正确答案:D2.在软件系统理论中,只要程序在通过测试后,就能被认为是完全正确的。
判断题(2.5分)A.对B.错正确答案:B3.常用接口有:()和IEE1394总线。
多选题(2.5分)A.并行接口B.串行接口C.网络接口D.通用串行总线正确答案:A B D4.关系模型由()三部分组成。
多选题(2.5分)A.关系数据结构B.关系操作C.关系完整性约束D.数据库正确答案:A B C5.控制器是微型计算机的指挥和控制中心。
判断题(2.5分)A.对B.错正确答案:A6.智能物业管理信息系统的开发方法有:()等。
多选题(2.5分)A.生命周期法B.结构化方法C.原型法D.面向对象的开发方法正确答案:A B C D7.数据模型通常由()三个基本部分组成。
多选题(2.5分)A.数据结构B.数据C.数据操作D.完整性约束正确答案:A C D8.物业管理信息系统属于哪中类型的软件( )单选题(2.5分)A.应用软件B.工具软件C.操作系统D.系统软件正确答案:A9.频带传输可以在电话线上传输数字信号。
判断题(2.5分)A.对B.错正确答案:A10.衡量一个系统模型好坏的标准可以从()和可发展性等方面考虑。
多选题(2.5分)A.运行效率B.安全可靠性C.可操作性D.灵活性正确答案:A B C D1.在软件系统理论中,只要程序在通过测试后,就能被认为是完全正确的。
判断题(2.5分)A.对B.错正确答案:B2.无论32位计算机还是64位计算机,在一个主存储器单元中存放的数仍然是( )位的,只不过在计算机运行时,一次可以对2个存储单元或4个存储单元进行访问。
单选题(2.5分)A.2B.4C.6D.8正确答案:D3.常用接口有:()和IEE1394总线。
面向对象程序设计大作业参考题目及要求
![面向对象程序设计大作业参考题目及要求](https://img.taocdn.com/s3/m/05a8690115791711cc7931b765ce050876327580.png)
面向对象程序设计大作业参考题目1、学生信息管理(1)问题描述学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:●系统以菜单方式工作●学生信息录入功能(学生信息用文件保存)---输入●学生信息浏览功能——输出●查询、排序功能——算法1、按学号查询2、按姓名查询●学生信息的删除与修改(可选项)(2)功能要求●界面简单明了;●有一定的容错能力,比如输入的成绩不在0~100之间,就提示不合法,要求重新输入;●最好用链表的方式实现。
(3)算法分析首先,一个学生包括这么多的属性,应该考虑定义一个结构,其次,我们应该考虑数据的存储形式:是定义一个数组来存储,还是定义一个链表呢?在这里假如我们以数组的方式来存储,当然可以,但是我们知道,假如我们定义一个数组的话,我们首先必须知道学生人数大概是多少,以便我们确定数组的大小,但是题目中没有给出,而且题目要求中有大量的删除、插入操作,所以用链表的方式比较方便。
对于菜单的实现,其实也比较简单,首先我们用printf语句把程序的功能列出来,然后等待用户输入而执行不同的函数,执行完了一个功能后又回到菜单。
文件的读写操作大家参照书中的有关文件的章节。
2、学生综合测评系统每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。
考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。
(2) 插入(修改)同学信息:提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,(3) 删除同学信息:提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
国开(四川)02372-面向对象程序设计-第4次形成性考核-参考资料
![国开(四川)02372-面向对象程序设计-第4次形成性考核-参考资料](https://img.taocdn.com/s3/m/e79c93a7d5bbfd0a795673bb.png)
面向对象程序设计-第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。
国开(四川)02372《面向对象程序设计》第4次形成性考核复习资料答案
![国开(四川)02372《面向对象程序设计》第4次形成性考核复习资料答案](https://img.taocdn.com/s3/m/949f75edd0d233d4b14e6974.png)
面向对象程序设计-第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。
《数据库应用技术》第4次作业及答案
![《数据库应用技术》第4次作业及答案](https://img.taocdn.com/s3/m/006e5321af45b307e8719703.png)
《数据库应用技术》第4次作业及答案一、单项选择题(每个题只有一个答案是正确的。
)1.如果希望从学生表中查询出所有姓“李”的同学,那么条件语句应该是(B)。
A、Where 姓名% ‘李’B、Where 姓名LIKE ‘李%’C、Where 姓名% ‘LIKE李’D、Where 姓名LIKE ‘李’2.在一个教师关系中,能够成为主关键字(或称主码)的属性是(B)。
A、教师姓名B、教师编号C、教师年龄D、教师性别3.从最终用户应用程序的视角看,数据库系统的三级模式结构是(C)。
A、模式、外模式和内模式B、内模式、外模式和模式C、外模式、模式和内模式D、外模式、内模式和模式4.在一个学生关系中,能够成为主关键字(或称主码)的属性是(C)。
A、性别B、年龄C、学号D、班级5.有严格的数学基础的数据模型是(A)。
A、关系模型B、网状模型C、层次模型D、面向对象模型6.下列关于索引的说明不正确的是(A)。
A、索引必须创建在主关键字之上B、索引与基本表分开存储C、索引是为了提高查询速度而创建的D、索引会在一定程度上影响增删改操作的效率7.设关系R是满足第一范式的,若R中不存在非主属性对主键的部分函数依赖,则R 符合(A)。
A、第二范式B、第三范式C、BNC范式D、第四范式8.下列符合第三范式的关系是(D)。
A、学生(学号,姓名,课程号,课程名)B、学生(学号,姓名,课程名,成绩)C、学生(学号,姓名,课程号,成绩)D、学生(学号,姓名,性别)9.在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系称为(D)。
A、两个关系的积B、两个关系的并C、两个关系的交D、两个关系的差10.数据库应用程序开发中,需求分析阶段的主要目的是(A)。
A、回答“干什么”的问题B、回答“怎么干”的问题C、建立逻辑数据模型D、建立最佳物理存储结构11.用户使用SQL Server时,通常需要依次经过两个安全性阶段(C)。
A、登录验证、操作验证B、操作验证、登录验证C、身份验证、权限认证D、权限认证、身份验证12.SQL Server数据库中的一个完整的备份通常要包括(A)。
(0166)《面向对象技术》网上作业题答案
![(0166)《面向对象技术》网上作业题答案](https://img.taocdn.com/s3/m/faaefdb21a37f111f1855bcb.png)
[0166]《面向对象技术》网上作业题答案2009上半年第一次[判断题]定义对象指针时,系统会自动调用构造函数。
参考答案:错误[判断题]判断字符串s1和s2是否相等的表达式为s1==s2。
参考答案:错误[判断题]使用赋值运算符可以对字符数组整体赋值。
参考答案:错误[单选题]使用重载函数编程序的目的是A:使用相同的函数名调用功能相似的函数B:共享程序代码C:提高程序的运行速度D:节省存储空间参考答案:A[多选题]在C++中,若定义一个函数的返回类型为void,以下叙述正确的是A:用语句调用函数B:用表达式调用函数C:没有返回值D:通过return语句可以返回指定值参考答案:AC[单选题]用C++语言编制的源程序要变为目标程序必须经过A:解释B:汇编C:编辑D:编译参考答案:D[单选题]在一个C++程序中,main函数的位置A:必须在程序的开头B:必须在程序的最后C:可以在程序的任何地方D:必须在其他函数中间参考答案:C[单选题]最早提出了对象概念的高级语言是:A:A1gol 60B:Simula 67C:SmalltalkD:C++参考答案:B[单选题]已知有函数原型void fun(int&),正确的调用是:A:int x=2; fun(&x);B:int a=15; fun(3*a);C:int b=4.15; fun(b);D:fun(356);参考答案:C[单选题]不能重载的函数是:A:成员函数B:非成员函数C:构造函数D:析构函数参考答案:D[判断题]在C++中,Sum和sum将被视作两个不同的变量。
参考答案:正确[判断题]运算符重载可改变其操作数的个数。
参考答案:正确2009上半年第二次[判断题]在基类定义的public成员在公有继承的派生类中是可见的。
参考答案:正确[判断题]两个数组名的比较是数组首元素大小的比较。
参考答案:错误[判断题]gets和puts函数可以输入/输出包含空格的字符串参考答案:正确[单选题]以下正确的函数原型为A:f(int x;int y);B:void f(x,y);C:void f(int x,y);D:void f(int,int);参考答案:D[单选题]执行语句:int i=10;*p=&i;之后,下面描述错误的是A:p的值为10B:p指向整型变量iC:*p表示变量i的值D:p的值是变量i的地址参考答案:A[单选题]预处理命令在程序中是以( )开头的。
面向对象第四次作业任务答案解析
![面向对象第四次作业任务答案解析](https://img.taocdn.com/s3/m/9a5ab52483d049649b6658e9.png)
面向对象程序设计技术作业四一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的构造函数使其初始化。
2、当一个类对象被撤消时将自动调用该类的析构函数。
3、对基类数据成员的初始化是通过执行派生类构造函数中的初始化表来实现的。
4、对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的赋值语句实现。
5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先基类成员,后类对象成员,最后为非对象成员。
6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成派生类本身的析构函数定义体的执行,接着完成类对象成员的析构函数定义体的执行,最后完成基类成员的析构函数定义体的执行。
7、设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的析构函数。
8、当一个类对象离开它的作用域时,系统将自动调用该类的析构函数。
9、假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为N次。
10、假定AB为一个类,则执行”AB a[10];”语句时,系统自动调用该类构造函数的次数为10次。
11、假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为空构造函数。
12、假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为空构造函数。
13、若需要把一个函数”void F();”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend void F();。
14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:feiend class AB;。
15、假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用的语句为AB:bb=0;。
16、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb 的写法为AB:bb 。
面向对象程序设计形成性考核及解答作业四
![面向对象程序设计形成性考核及解答作业四](https://img.taocdn.com/s3/m/b58428bc376baf1ffc4fadc8.png)
2011春面向对象程序设计单元复习指导(4)一、填空题:1.设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的( )。
A.无参构造函数B.带参构造函数C.析构函数D.拷贝构造函数2.假定AB为一个类,则执行“AB a[10];”语句时调用该类无参构造函数的次数为( )。
A. 0B. 1C. 9D. 103.假定AB为一个类,则执行“ABa(2),b[3],*p[4];”语句时共调用该类构造函数的次数为( )。
A. 3B. 4C. 5D. 94.假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete[]px;”语句时共调用该类析构函数的次数为( )。
A. 0B. 1C. nD. n+15.对类中引用成员的初始化是通过构造函数中给出的( )实现的。
A.函数体B.参数表C.初始化表D.初始化表或函数体6.一个类的静态数据成员所表示属性( )。
A.是类的或对象的属性B.只是对象的属性C.只是类的属性D.类和友元的属性7.被非静态成员函数访问的类的数据成员( )。
A.可以是非静态数据成员或静态数据成员B.不可能是类的静态数据成员C.只能是类的非静态数据成员D.只能是类的静态数据成员8.引入友元的主要目的是为了()。
A.增强数据安全性B.提高程序的可靠性C.提高程序的效率和灵活性D.保证类的封装性9.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。
A.作为友元函数重载的1元运算符B.作为成员函数重载的1元运算符C.作为友元函数重载的2元运算符D.作为成员函数重载的2元运算符10.如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。
A. a.operator+(b)B. b.operator+(a)C. operator+(a,b)D. operator(a+b)11.如果表达式a++中的“++”是作为普通函数重载的运算符,若采用运算符函数调用格式,则可表示为()。
java编程思想4习题答案
![java编程思想4习题答案](https://img.taocdn.com/s3/m/b6b5e39248649b6648d7c1c708a1284ac8500523.png)
java编程思想4习题答案Java编程思想是一本经典的Java编程教材,它深入浅出地介绍了Java编程的基本原理和思想。
在学习过程中,习题是一个重要的练习和巩固知识的方式。
本文将为读者提供Java编程思想第四版中一些习题的答案,并对其中的一些重要知识点进行解析和讨论。
第一章:对象导论1. 什么是对象?答:对象是具有状态和行为的实体。
它是面向对象编程的基本概念,可以通过类来创建和使用。
2. 什么是类?答:类是对象的模板或蓝图,它定义了对象的属性和行为。
可以通过类来创建多个具有相同属性和行为的对象。
3. 什么是封装?答:封装是面向对象编程的一个重要原则,它将数据和操作数据的方法封装在一起,隐藏了对象的内部实现细节,只暴露必要的接口供外部使用。
第二章:一切都是对象1. 什么是基本类型和包装类型?答:Java中的基本类型是指int、double、boolean等不属于对象的数据类型。
而包装类型是指将基本类型封装成对象的类,如Integer、Double、Boolean等。
2. 什么是自动装箱和拆箱?答:自动装箱是指将基本类型自动转换为对应的包装类型,而拆箱是指将包装类型自动转换为对应的基本类型。
3. 什么是静态方法和静态字段?答:静态方法和静态字段属于类本身,而不是类的实例。
可以通过类名直接调用静态方法和访问静态字段,而不需要创建类的实例。
第三章:操作符1. 什么是位运算符?答:位运算符是对整数在二进制位上进行操作的运算符,包括与、或、异或、取反等。
2. 什么是短路操作符?答:短路操作符是指在逻辑运算中,如果第一个操作数已经能够确定整个表达式的结果,就不会再计算第二个操作数。
例如,对于逻辑与运算符&&,如果第一个操作数为false,整个表达式的结果必定为false,就不会再计算第二个操作数。
3. 什么是三元操作符?答:三元操作符是指由三个操作数组成的运算符,其中第一个操作数是一个条件表达式,如果条件为true,则返回第二个操作数的值,否则返回第三个操作数的值。
面向对象第四次上机
![面向对象第四次上机](https://img.taocdn.com/s3/m/f9883f7a5acfa1c7aa00ccc9.png)
(三)司机开车的方法,显示“某某司机正在开某某牌号的车”。司机停车的方法,显示“某某司机把某某牌号的车停了下来”。
(四)检查此司机是否是某某姓名的方法,要求传入一个司机的姓名,检查这个姓名是否是此司机的姓名,要求返回一个true或false。
检查此司机是否是某某汽车牌号的方法,要求传入一个车牌号,检查这个牌号是否是此司机的汽车牌号,要求返回一个true或false。
2、写一个数学家的类,类中有方法:
(一)传入两个整数,进行比较,返回两个数中的最大值的方法。
(二)传入三个double型的数据,进行比较,返回三个数中的最小值的方法。
(三)传入一个整数,返回这个整数的个位数是几的方法。
(四)传入一个整数,返回这个整数的立方的方法。
(五)传入一个正整数,计算从1加到此整数的和是多少的方法。比如输入一个5那么就计算1+2+3+4+5=15,最后返回15。
(六)传入一个整形的数组,返回这个整形数组中的所有数据之和的方法。
(七)传入一个整形的数组,返回这个整形数组中的最大值的方法。
1、写一个汽车司机的类,类中有属性:姓名,性别,年龄,驾驶证号,汽车牌号。类中有方法:
(一)设置姓名方法,设置性别方法,设置年龄方法,设置驾驶证号方法,设置汽车牌号的方法。(有参无返回)
(二)得到姓名汽车牌号的方法。以及显示所有数据的方法(toString)。
面向对象程序设计和C++语言习题答案解析(朱战立版)
![面向对象程序设计和C++语言习题答案解析(朱战立版)](https://img.taocdn.com/s3/m/670fc93766ec102de2bd960590c69ec3d5bbdb07.png)
第1章1.1 填空题(1)main(2)分号(3)函数头部函数体(4)原型声明(5).h .cpp(6)语法错误语义错误(7)void(8)void(9)int 0(10)用户自(11)类型(12)右(13)函数体(14)和程序阅读(1)m=5n=3(2) 4(3)yes3not4(4)25 16 9 2 1(5)21234(6)911第2章2.1 填空题(1)类(2)实例(3)封装(4)抽象描述封装体(5)继承(6)设计实现第3章3.1 填空题(1)成员函数(2)private(3)public(5)public(6)内联(7)类名(8)inline(9)作用域(10)AA* AA::abc<>(11)超出(12)const(13)构造(14)析构(15)构造(16)内存空间(17)AB<int aa> : a<aa>{}(18)析构函数(19)不会(20)2(21)a(22)2(23)2(24)1(25)3(26)正确(27)正确(28)错误(29)AB<AB& a>(30)delete []pa;(31)只能不能(32)初始化3.30程序阅读题<1>con1 called.con2 called.a=0,b=0a=10,b=10a=10,b=20<2>0 51 52 53 54 5<3>456<4>XuxiaokaiWeirongDestructor!Destructor!<5>15 8<6>1 2 3 40 0 0XxkXxkXxkXxkXxkXxkXxk<7>5 69 20<8>d=800f=40第4章4.1 填空题(1)类名::(2)优先级(3) 1(4) 2(5) 2[2]返回引用类型的函数:①返回的是比较大的对象,采用引用类型以提高效率。
西南大学含弘在线课堂PowerPoint多媒体课程第四次作业答案
![西南大学含弘在线课堂PowerPoint多媒体课程第四次作业答案](https://img.taocdn.com/s3/m/f0d88e72551810a6f424866a.png)
1. 关于PPT的自定义动画,以下不正确的说法是: (5.0分)A:各种对象均可设置动画选择:BB:动画设置后,先后顺序不可改变C:同时还可配置声音D:可将对象设置成播放后隐藏2. 在幻灯片的“动作设置”功能中不可通过()来触发多媒体对象的演示。
(5.0分) A:单击鼠标选择:CB:移过鼠标C:双击鼠标D:单击鼠标和移过鼠标3. 在PowerPonit2010中可以使用()来为自己绘制的图形添加链接。
(5.0分)A:超链接选择:DB:动作C:动画D:超链接和动作二、多项选择题(本大题共3小题,共15.0分)1. PowerPoint2010提供了有以下哪些特色动画效果: (5.0分)A:基本型选择:A,C,DB:细微型C:温和型D:华丽型2. 当一张幻灯片要建立超级链接时,无论是动作按钮、动作设置还是超链接都: (5.0分)A:可以链接到其他的幻灯片上选择:A,B,CB:可以链接到本页幻灯片上C:可以链接到其他演示文稿上D:不可以链接到其他演示文稿上3. 在幻灯片的“动作设置”对话框中设置的超级链接对象可以链接到: (5.0分)A:一个应用程序选择:A,B,C,DB:其他演示文稿C:幻灯片的某一对象D:下一张幻灯片三、判断题(本大题共4小题,共20.0分)1. 自定义动画添加好后,通过设置“单击时”、“与上一动画同时”“在上一动画之后”等选项只是选择动画开始条件,跟动画播放顺序无关。
(5.0分)√ × 选择:×2. 在PowerPoint2010中,一个对象只能添加一个自定义动画效果。
(5.0分)√ × 选择:√3. PowerPoint2010中,形状中的默认动作按钮只能链接到默认位置,不能进行修改。
(5.0分)√ × 选择:×4. 在PowerPoint2010中,一张幻灯片只能设置一种切换效果。
(5.0分)√ × 选择:√1. 请分析多媒体课件脚本的基本含义。
面向对象技术与C++(4)答案
![面向对象技术与C++(4)答案](https://img.taocdn.com/s3/m/8f3a11ec7fd5360cbb1adb3c.png)
《面向对象技术与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)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计技术作业四一、填空题1、在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的构造函数使其初始化。
2、当一个类对象被撤消时将自动调用该类的析构函数。
3、对基类数据成员的初始化是通过执行派生类构造函数中的初始化表来实现的。
4、对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的赋值语句实现。
5、在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先基类成员,后类对象成员,最后为非对象成员。
6、当撤消一个含有基类和类对象成员的派生类对象时,将首先完成派生类本身的析构函数定义体的执行,接着完成类对象成员的析构函数定义体的执行,最后完成基类成员的析构函数定义体的执行。
7、设px 是指向一个类动态对象的指针变量,则执行” delete px ;”语句时,将自动调用该类的析构函数。
8、当一个类对象离开它的作用域时,系统将自动调用该类的析构函数。
9、假定一个类对象数组为A[N] ,当离开它的作用域时,系统自动调用该类析构函数的次数为N 次。
10、假定AB 为一个类,则执行” AB a[10] ;”语句时,系统自动调用该类构造函数的10次。
11、假定用户没有给一个名为AB 的类定义构造函数,则系统为其隐含定义的构造函数为空12、假定用户没有给一个名为AB 的类定义析构函数,则系统为其隐含定义的析构函数为空构造函数。
13、若需要把一个函数” void F() ;”定义为一个类AB的友元函数,则应在类AB 的定义中加入一条语句:friend void F ();。
14、若需要把一个类AB定义为一个类CD的友元类,则应在类CD 的定义中加入一条语句:feiend class AB ;。
15、假定一个类AB 中有一个静态整型成员bb ,在类外为它进行定义并初始化为0时,所使用的语句为AB :bb=0 ;。
16、假定类AB 中有一个公用属性的静态数据成员bb ,在类外不通过对象名访问该成员bb的写法为AB :bb 。
17、当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为n-1 。
18、假定AB 为一个类,则该类的拷贝构造函数的声明语句为AB :AB(AB&)19、对类对象成员的初始化是通过执行构造函数中的初始化表的。
20、对于类中定义的成员,其隐含访问权限为private ,对于结构中定义的成员,其隐含访问权限为public 。
21、一个类的友元函数或友元类能够通过成员操作符访完成所有数据成员和函数成AB 类对象的加法,并返回相加员。
22、假定要对类AB 定义加号操作符重载成员函数,实现两个23 、在C++ 流类库中,根基类为ios 。
24 、在C++ 流类库中,输入流类和输出流类的名称分别为i stream 和ostream25 、若要在程序文件中进行标准输入输出操作,则必须在开始的#include 命令中使用iosteam.h 头文件。
26 、若要在程序文件中进行文件输入输出操作,则必须在开始的#include 命令中使用fstream.h 头文件。
27 、当从字符文件中读取回车和换行两个字符时,被系统看作为一个换行符28 、当使用ifsream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为读取的文本文件,当使用ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为写入的文本文件。
29 、当需要使用istrstream 流类定义一个流对象并联系一个字符串时,应在文件开始使用#include 命令,使之包含strstrea.h 文件。
二、写出下列程序运行后的输出结果1 .#include<iostream.h>class A{int a,b;public:A() {a=b=0;}A(int aa, intbb){ a=aa;b=bb;cout<<a<<''<<b<<endl;}void main(){A x, y(6,3), z(8,10);} 输出结果:2.#include<iostream.h>class A{int a,b;public:A(int aa=0, int bb=0):a(aa),b(bb){cout<<"Constructor!"<<a+b<<endl;}};void main(){A x, y(2,5), z(y);} 输出结果:3.#include<iostream.h>class A{int *a;public:A(int aa=0){a=new int(aa);cout<<"Constructor!"<<*a<<endl;};void main(){A x[2];A *p=new A(5);delete p;} 输出结果:4.#include<iostream.h>class A{int a;public:A(int aa=0):a(aa){}~A(){cout<<"Destructor!"<<a<<endl;} };void main(){A x(5);A *p=new A(10);delete p;} 输出结果:#include<iostream.h>5.class A{int *a;public:A(int x){a=new int(x);cout<<"Constructor!"<<*a<<endl;}~A(){delete a;cout<<"Destructor!"<<endl;} };void main(){A x(9),*p;p=new A(12);delete p;} 输出结果:6.#include<iostream.h>class A{int a;public:A(int aa=0):a(aa){cout<<"Constructor A!"<<a<<endl; } };class B:public A{int b;public:B(int aa,int bb):A(aa),b(bb){cout<<"Constructor B!"<<b<<endl; } }; void main(){B x(2,3),y(4,5);} 输出结果:7.#include<iostream.h>class A{int a;public:A(int aa=0){a=aa;}~A(){cout<<"Destructor A!"<<a<<endl;} };class B:public A{int b;public:B(int aa=0,int bb=0):A(aa){b=bb;}~B(){cout<<"Destructor B!"<<b<<endl;} };void main(){B x(5),y(6,7);}8.#include<iostream.h>#include<stdlib.h>class A{int a,b;char op;public:A(int aa,int bb,char ch){a=aa;b=bb;op=ch;}int Comp(){switch(op){case'+':return a+b;case'-':return a-b;case'*':return a*b;case'/':if(b!=0)return a/b;else exit(1);case'%':if(b!=0)return a%b;else exit(1);default:exit(1); }}void SetA(int aa,int bb,char ch){a=aa;b=bb;op=ch; }};void main(void){A x(3,5,'*');int a=p();x.SetA(4,9,'+');a+=p();x.SetA(13,8,'%');a+=p();cout<<"a="<<a<<endl;}输出结果:9.#include<iostream.h>class B{int a,b;public:B(){a=b=0;}B(int aa,int bb){a=aa;b=bb;}B operator+(B&x){B r;r.a=a+x.a;r.b=b+x.b;return r;}B operator-(B&x){B r;r.a=a-x.a;r.b=b-x.b;return r;}void OutB(){cout<<a<<' '<<b<<endl;}};void main(){B x(6,5),y(13,3),z1,z2;z1=x+y;z2=x-y;z1.OutB();z2.OutB();}输出结果:10.#include<iostream.h> template<class TT> class FF{ TT a1,a2,a3;public:FF(TT b1,TT b2,TT b3){a1=b1;a2=b2;a3=b3;TT Sum(){return a1+a2+a3;}};void main(){FF<int>x(8,3,4),y(5,9,11);cout<<x.Sum()<<' '<<y.Sum()<<endl; }输出结果:三、写出下列每个函数的功能1. #include <iomanip.h>#include <fstream.h>#include <string.h>void JA(char *fname){ofstream fout(fname);char a[20];cin>>a;while(strcmp(a,"end")!=0){fout<<a<<endl;cin>>a;}fout.close();}void JB(char *fname){ifstream fin(fname);char a[20];int i=0;while(fin>>a){cout<<a<<endl; i++;}fin.close();cout<<"i="<<i<<endl;}void main(){JA("c:\gm.dat");JB("c:\gm.dat");}2.#include <iomanip.h>#include <fstream.h>void JB(char *fname){ifstream fin(fname);char a[20];int i=0;while(fin>>a){cout<<a<<endl;i++;}fin.close();cout<<"i="<<i<<endl;}3.#include <iomanip.h>#include <fstream.h>void JC(char *fname,int n){ofstream fout(fname,ios::out|ios::binary);int x;for(int i=0;i<n;i++){cin>>x;fout.write((char *)&x,sizeof(x));}fout.close();void JD(char * fname){ifstream fin(fname,ios::in|ios::nocreate|ios::binary);int x,s=0,n=0;while(fin.read((char *)&x,sizeof(x))){s+=x;n++;}cout<<n<<' '<<s<<' '<<float(s)/n<<endl;fin.close;}void main(){JC("c:\gm.bat",5);JD("c:\gm.bat");}4.#include <iomanip.h>#include <fstream.h>void JD(char * fname){ifstream fin(fname,ios::in|ios::nocreate|ios::binary);int x,s=0,n=0;while(fin.read((char *)&x,sizeof(x))){s+=x;n++;}cout<<n<<' '<<s<<' '<<float(s)/n<<endl;fin.close;}。