当前位置:文档之家› 第十一章-类和对象

第十一章-类和对象

java第二版第二章答案

Java iSW程序设il?(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系 答:1)对象是包含现实世界物体特征的捕象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象二数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体:在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象! 3)两者的关系:对象是类的具体实例 2.什么是而向对象的程序设计方法它有那些基本特征 答:而向对象程序设计从所处理的数据入手,以数抵为中心而不是以服务为中心来描述系统。 它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳世性。 它的特征:抽象,封装,继承,多态。 3.在下而的应用中,找出可能用到的对象,对毎一个对象,列出可能的状态和行为。 1)模拟航空预订系统交易的程序 2)模拟银行交易的程序 答:1)航空预订交易: 状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。 行为:订票,领票,买票,退票。 2)银行交易: 状态:客户姓名,账号,身份证号。 行为:存款,取款,『款。 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前而不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前而需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以宜接访问实例变量,调用实例方法,实例方法可以直接访问类变量, 调用类方法:类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法: 6.类的访问控制符有哪几种具体含义及其区别。 答:类的访问控制符只有public (公共类)及无修饰符(默认类)两种。 区別:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与

第10章类和对象

第10章 类和对象 本章工作任务 实现学校类,并描述学校的信息 实现教员类,并输出教员的信息 实现学生类,并输出学生的信息 本章技能目标 掌握类和对象的特征 理解封装 会创建和使用对象

使用Java理解程序逻辑 本章单词 请在预习时学会下列单词的含义和发音,并 填写在横线处。 1.class: 2.object: 3.OOP: 4.return: 5.encapsulation: 6.null: 7.initial: 8.type:

类和对象 本章简介 在前面章节中,我们学习了程序设计的基本知识和流程控制语句。通过这些内容的学习,大家能够用Java语言进行程序设计,但这些程序的规模都很小,一般只有几十行代码。假设我们要编程解决一个很大的问题,需要写几万行代码,如果按照以前的做法,将这些代码都放在一个Java文件中,可以想象这个文件会非常冗长,而且很难维护。 因此,在下面的课程中,你将看到Java程序设计的另一道风景——面向对象程序设计,英语缩写为OOP。面向对象程序设计是一个里程碑,Alan Kay因为设计了世界上第一个面向对象语言Smalltalk而获得图灵奖。Java之父James Gosling结合Internet背景设计了完全面向对象的Java语言。本章将带领你进入面向对象的世界,学习什么是对象和类,以及如何创建和使用类的对象。 10.1 对象 首先问你一个问题,“世界是由什么组成的?”。如果你是一个化学家,你可能会说,“世界是由分子、原子、离子等这些化学物质组成的”。如果你是一个画家,你可能会说,“世界是由不同的颜色组成的”。不同的人会有不同的回答。但如果你是一个分类学家,你会说,“这个世界是由不同类别的事物组成的”,如图10.1所示。 图10.1 世界的组成 其实,这个问题本身就比较抽象,我们说物以类聚,所以可以说世界是由不同类别的事物构成,如图10.1中所示,世界由动物、植物、物品、人和名胜等组成。动物可以分为脊椎动物和无脊椎动物。脊椎动物又可以分为哺乳类、鱼类、爬行类、鸟类和两栖类。 爬行类又可以分为有足类和无足类……,就这样可以继续分下去。当我们提到某一个分类时,就可以找到属于该分类的一个具体的事物。比如乌龟就属于爬行类中的有足类,

《面向对象程序设计》第10章在线测试

《面向对象程序设计》第10章在线测试 A B C D 、关于异常对象的说法正确的是( A B 对象 C、以引用方式传递异常对象时,抛出的是局部静态对象 D 对象 A块相当于一个以类型为单一参数的函数 B 以捕捉 C块中可以声明变量,该变量可以在块外使用 D 数值 A B C D 、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是( A B C D

C、C++程序绝对不能出现错误 D、异常处理使C++程序在出现错误的情况下仍能继续运行 2、下面说法正确的是() A、C++程序中可以存在多个名字空间 B、不同的名字空间中不能出现名字相同的变量 C、名字空间能避免名字冲突 D、C++程序中也可以不定义名字空间 3、关于异常处理的说法正确的是() A、将异常的检测与处理分离 B、异常就是错误 C、异常由函数调用引起 D、在上层调用函数中使用try检测函数调用是否引发异常 4、下面与异常处理相关的关键字有() A、Throw B、throw C、try D、Try 5、下面的说法正确的是() A、引发异常用关键字throw B、在被调用函数中检测到异常条件用throw都可以引发异常 C、被调用函数只有在try块中用throw才可以引发异常 D、检测到的异常由catch捕获并处理 第三题、判断题(每题1分,5道题共5分) 1、抛出异常的模块并不负责异常的处理,该异常的处理可以程序中的任何位置。

正确错误、异常处理器根据抛出异常模块的报告来处理异常。 正确错误、异常信号传递方式有三种:传值方式、引用方式和指针方式。 正确错误表示函数将会抛出所有类型的异常 正确错误处理程序的出现次序无关紧要。 正确错误

C++第五章_类与对象习题解答

第五章类与对象习题 一.基本概念与基础知识自测题 填空题 引入类定义的关键字是(1)。类的成员函数通常指定为(2),类的数据成员通常指定为(3)。指定为(4)的类成员可以在类对象所在域中的任何位置访问它们。通常用类的(5)成员表示类的属性,用类的(6)成员表示类的操作。 答案: (1)class (2)公有的public (3)私有的private (4)公有的public (5)数据 (6)/ (7)函数 类的访问限定符包括(1)、(2)和(3)。私有数据通常由(4)函数来访问(读和写)。这些函数统称为(5)。 答案: (1)public(公有的) (2)private(私有的) (3)protected(保护的) (4)公有的成员函数 (5)类的接口 通常在逻辑上,同一类的每个对象都有(1)代码区,用以存储成员函数。而在物理上通常只有(2)代码区。只有在(3)定义,并(4)的函数和加了关键字(5)的函数例外。 答案: (1)? (2)独立的 (3)共用的 (4)在类说明中 (5)不包括循环等复杂结构 (6)inline C++中支持三种域:(1)、(2)、(3)。函数域被包括在(4)中,全局域被包括在(5)中。using指示符以关键字using开头,后面是关键字(6),最后是(7)。这样表示以后在该名字空间中所有成员都(8)。 如不使用using指示符则在使用时要加::,称为(9)运算符。 答案: (1)局部域(local scope) (2)名字空间域(namespace scope) (3)类域(class scope) (4)? (5)局部域

(6)名字空间域 (7)namespace (8)名字空间名 (9)可以直接被使用 (10)域 引用通常用作函数的(1)和(2)。对数组只能引用(3)不能引用(4)。 答案: (1)参数 (2)返回值 (3)) (4)数组元素 (5)数组名本身 构造函数的任务是(1)和(2)。构造函数无(3),但并不表示(4)。类中可以有(5)个构造函数,它们由(6)区分。 如果类说明中没有给出构造函数,则C++编译器会(7)。拷贝构造函数的参数是(8),当程序没有给出拷贝构造函数时,系统会自动提供(9)支持,这样的拷贝构造函数中每个类成员(10)。 答案: (1)建立对象(为对象分配内存) (2)初始化数据成员 (3)函数返回类型说明 (4)没有返回值,返回的是构造函数所创建的对象 (5)多 (6)不同的参数表 (7)- (8)自动给出一个缺省的构造函数 (9)同一类对象的引用 (10)缺省的拷贝构造函,称为缺省的按成员语义支持。 (11)被依次拷贝 一个类有(1)个析构函数。(2)时,系统会自动调用析构函数。 答案: (1)一 (2)对象注销时 运算符重载时,其函数名由(1)构成。成员函数重载双目运算符时,左操作数是(2),右操作数是(3)。 答案: (1)@ (2)关键字operator和该运算符 (3)对象 (4)该函数的参数 5.2简答题(以下习题题号可能和教材不一致!) 5.2.1为什么返回值为引用的函数可以作为左值

第10章 面向对象设计

第10章面向对象设计 10.1 软件模块之间的依赖性可以从哪些角度和抽象层次进行分析? 在面向对象软件中,常见的软件模块有类、接口、包、构件。因此,分析软件模块之间的依赖性就可以从类、接口、包和构件的角度和层次进行分析。 10.2 消除包之间循环依赖性的方法是什么? 本质上,两个包之间的依赖性来自于两个包中类之间的依赖性。类之间的循环依赖性是个特别棘手的问题,好在大多数情况下可以通过重新设计避免循环依赖性。具体方法是增加新包。举例说明如下: 在下图中,包A依赖于包B,反过来包B又依赖包A,构成了循环依赖。具体解决办法是:将包B依赖的包A中的元素从包A中分离出来,组成包C,使得包B不再依赖包A,而是依赖包C。 10.3 请给出构件的一般性定义,然后给出传统的软件工程环境及面向对象的软件工程环境中构件的定义,最后选择你熟悉的编程语言说明怎样定义一个构件。 软件构件是一种组装单元,它具有规范的接口规格说明和显式的语境依赖。软件构件可以被独立部署,并由第三方任意组装。OMG UML规范中将构件定义为“系统中某一定型化的、可配置的和可替换的部件,该部件封装了实现并暴露一系列接口”。 在传统的软件工程环境中,一个构件就是程序的一个功能要素,程序由处理逻辑和实现处理逻辑所需的内部数据结构以及能够保证构件被调用和实现数据传递的接口构成。传统的构件也称为模块,是软件体系结构的一部分。 在面向对象的软件工程环境中,面向对象技术已达到了类级复用,而构件级复用则是比类级复用更高一级的复用,它是对一组类的组合进行封装(当然,在某些情况下,一个构件可能只包含一个单独的类),并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。一个构件可以是一个编译的类,可以是一组编译的类,也可以是其他独立的部署单元,如一个文本文件、一个图片、一个数据文件、一个脚本等。 选择你熟悉的编程语言说明怎样定义一个构件。(略) 10.4 典型的面向对象设计模型在逻辑上由哪几部分组成?对每一部分进行设计时所包含的主要内容是什么? 典型的面向对象设计模型在逻辑上将系统划分为4个部分,分别是问题域部分、人机交互部分、任务管理部分及数据管理部分。

第5章实验:类与对象1

实验十三类和对象定义 【预习内容】 预习C++的类和对象的概念。 【实验目的】 掌握类和对象的概念,熟悉对象中成员概念及访问方法。【实验内容】 设计点(Tpoint)类的定义程序 参考程序: 将下述关于点类的定义放在TPoint.h文件中。 class TPoint { public: void SetPoint(int x,int y); int Xcoord(){return X;} int Ycoord(){return Y;} void Move(int xOffset,int yOffset); private: int X,Y; }; void TPoint::SetPoint(int x,int y) { X=x; Y=y; } void TPoint::Move(int xOffset,int yOffset) { X+=xOffset; Y+=yOffset; } #include #include"TPoint.h" void main() { TPoint p1,p2; p1.SetPoint(3,5); p2.SetPoint(8,10);//p2.X=8 p2.Y=10 p1.Move(2,1); p2.Move(1,-2);//p2.X=9 p2.Y=8 cout<<"x1="<

第二章 概念部分练习题

第二章概念 内容提要 一、概念的内涵和外延 概念的内涵和外延是概念的两个基本逻辑特征。 概念的内涵是概念对对象本质属性的反映;概念的外延是概念对对象本身的反映。内涵是概念的质的方面,它涉及概念反映的对象“是什么”;外延是概念的量的方面,它涉及的是概念反映的对象“有哪些”。概念内涵和外延与客观对象的本质属性和对象本身并不等同,二者是反映与被反映的关系。概念内涵和外延是人脑对对象本质“属性及对象本身认识的结果,属于主观的东西,而对象的本质属性和对象本身则是客观存在的;只有当它们被反映到人的思维中来,才会成为概念的内涵和外延。 对于某一具体概念的理解就是对于概念内涵和外延的理解。逻辑学要求我们掌握概念的外延关系,因此对概念外延的理解是非常重要的。例如:“国家”的外延应该是指古今中外一切具有“国家性质”这样的实体性的对象,从时间上看指国家产生以来直至现在;从空间上讲指“整个世界”,我们在理解“国家”外延时常犯的错误是把它的外延缩小,理解为“现代国家”。再如:“犯罪行为”这一概念的外延是触犯刑律应受刑法处罚的行为,而非指一般的违法行为,如果我们把一般的赌博行为也理解为“犯罪行为”,就是把这一概念的外延扩大了。 二、概念的种类 (一)依据不同的标准,可以将概念分成不同的种类。根据概念外延所反映的对象的数量,可把概念分为单独概念和普遍概念;根据概念反映的对象是否为集合体,可把概念分为集合概念和非集合概念;根据概念反映的对象是否具有某种属性,可把概念分为肯定概念和否定概念;根据概念反映的对象是否为独立存在的实体,可把概念分为实体概念和属性概念。 在理解概念种类的划分时,难点在集合概念和非集合概念划分标准的掌握。 (二)区别集合概念与非集合概念应注意的问题。 1.集合体和个体的关系,与类和分子间的关系是不同的。 所谓“集合体”是指概念所反映的对象是作为一个整体来认识和使用的,集合体由许多个体有机构成的,但是,集合体所具有的属性,构成该集合体的任一个体并不具有。集合概念的外延不包括构成集合体的个体。 所谓“类”是指概念所反映的对象是由具有相同属性的分子所构成的,其特点是:“类”是对于分子属性的概括和反映,因此,“类”所具有的属性,其分子必然具有。“类”的外延必然包括分子的外延。 例如:“法律词汇”是个集合概念,因为“法律词汇”是由许多法律语词构成的一个集合体,构成“法律词汇”的用语是它的个体;“法律词汇”中的任一个法律用语都不具有“法律词汇”的特点,如我们不能说“诉讼”、“法庭调查”、“法律咨询……是法律词汇,而只能说它们是法律用语。 再如:“警察”是个非集合概念,这一概念是对从事“维护社会治安”这类人员的一种概括,凡从事这种工作的人都称之为“警察”,都具有警察的性质。因此,“警察”是一个类概念,构成这个类的分子就是“警察”中的具体对象,如警察这个类中的张××、王××等。 2.注意在不同的语言环境里,同一语词既可表达集合概念,也可表达非集合概念如: ①警察是维护社会治安的; ②警察是能吃若耐劳的。

第五章作业参考答案

第五章作业参考答案 1、什么是多媒体演示文稿? 答:多媒体演示文稿指包含文字、图形、声音、视频等多种媒体的对象的演示文稿。 2、普通视图下的Power Point的界面由哪几个部分组成? 答:普通视图下的Power Point 的界面由标题栏、菜单栏、工具栏、幻灯片窗格、大纲窗格、状态栏、视图切换按钮、备注窗格以及任务窗格这几个部分组成。 3、PowerPoint有哪几种视图模式? 答:PowerPoint为用户提供了六种不同的工作模式:普通视图、大纲视图、幻灯片视图、幻灯片浏览视图、幻灯片放映视图和备注视图。 4、简述普通视图下窗口的组成及普通视图下各窗格的作用。 答:普通视图模式的视窗主要由大纲窗格、幻灯片窗格和备注窗格3个窗格组成。 在普通视图模式中,用户可以创建或直接修改、编辑演示文稿的大纲文件、幻灯片和备注内容. 大纲窗格 使用大纲窗格可以组织演示文稿的内容框架:键入演示文稿的所有文本,重新排列幻灯片等。该窗格仅仅显示文稿的文本部分(即仅有标题和主要文字)。它为制作者组织材料、编写大纲提供了简明的环境。 幻灯片窗格 在幻灯片窗格中,可以查看和编辑每张幻灯片中的对象布局效果,其中包括修饰文本的外观、插入的图形、影片和声音对象,并可以设置超级连接以及为当前幻灯片设置动画效果,制作一个具有多媒体效果的演示文稿。 在该窗格中一次只能编辑一张幻灯片,这是制作幻灯片的主要场所。 备注窗格 使用备注窗格可以添加或查看当前幻灯片的演讲备注信息,对于图片形式的备注信息必须通过备注视图添加。 备注信息只出现在备注窗格中,在文稿演示时不会出现。 5、如何打开任务窗格?(上机完成) 答:单击菜单“视图”/“任务窗格”打开任务窗格。 6、简述普通视图、换灯片浏览视图、幻灯片放映视图的三视图的切换方法和作用。 答:视图切换按钮(三个)位于工作窗口的左下角,用来在3种不同的视图模式(普通视图、幻灯片浏览视图和幻灯片按钮视图)间切换。 普通视图作为PowerPoint的默认工作方式,也是其主要工作模式。单击视图切换按钮中的“普通视图”按钮,可切换到该模式。 幻灯片浏览视图下将演示文稿中的所有幻灯片以缩略图方式排列在屏幕上(行优先),可以按幻灯片的放映(演示)顺序显示所有的幻灯片,以便预览演示文稿的整体效果;可以添加、删除幻灯片或重组幻灯片的放映顺序,调整各张幻灯片的放映时间等。 幻灯片放映视图下播放演示文稿,演示文稿播放时,每张幻灯片占满整个屏幕。 在创建演示文稿的过程中,可单击“幻灯片放映视图”按钮,预览演示文稿的放映播放效果。 7、演示文稿与幻灯片有何对应关系? 答:一个演示文稿对应一个文件,文件的扩展名为.PPT;一个演示文稿中一般包含若干张幻灯片,一张幻灯片对应演示文稿中的一页;制作一个演示文稿的过程实际上是依次制作一

面向对象程序设计第二章课后答案说课讲解

面向对象程序设计第二章课后答案

1.什么是命名空间,如何访问命名空间的成员? 【解答】为了解决不同文件中同名变量的问题,C++标准中引入命名空间的概念。命名空间(namespace)是一种特殊的作用域,命名空间可以由程序员自己来创建,可以将不同的标识符集合在一个命名作用域内,这些标识符可以类、对象、函数、变量、结构体、模板以及其他命名空间等。 在作用域范围内使用命名空间就可以访问命名空间定义的标识符。有3种访问方法: (1)直接指定标识符,访问方式为:命名空间标识符名∷成员名。 (2)使用using namespace命令 (3)使用using关键词声明 2.什么是内联函数,它有什么特点?哪些函数不能定义为内联函数? 【解答】用inline关键字声明或定义的函数称为内联函数。C++中对于功能简单、规模小、使用频繁的函数,可以将其设置为内联函数。 内联函数(inline function)的定义和普通函数相同,但C++对它们的处理方式不一样。在编译时,C++将用内联函数程序代码替换对它每次的调用。这样,内联函数没有函数调用的开销,即节省参数传递、控制转移的开销,从而提高了程序运行时的效率。但是,由于每次调用内联函数时,需要将这个内联函数的所有代码复制到调用函数中,所以会增加程序的代码量,占用更多的存储空间,增大了系统空间方面的开销。因此,内联函数是一种空间换时间的方案。 函数体内有循环语句和switch语句,递归调用的函数不能定义为内联函数。 3.什么是函数重载?在函数调用时,C++是如何匹配重载函数的? 【解答】函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不一致或参数个数不同。编译时编译器将根据实参和形参的类型及个数进行相应地匹配,自动确定调用哪一个函数。使得重载的函数虽然函数名相同,但功能却不完全相同。 在函数调用时,C++是匹配重载函数规则如下:首先寻找一个精确匹配,如果能找到,调用该函数;其次进行提升匹配,通过内部类型转换(窄类型到宽类型的转换)寻求一个匹配,如char到int、short到int等,如果能找到,调用该函数;最后通过强制类型转换寻求一个匹配,如果能找到,调用该函数。4.设置函数参数的默认值有何作用? 【解答】C++中允许函数提供默认参数,也就是允许在函数的声明或定义时给一个或多个参数指定默认值。在调用具有默认参数的函数时,如果没有提供实际参数,C++将自动把默认参数作为相应参数的值 5.什么叫引用,使用引用时需要注意哪些问题? 【解答】引用是一个变量的别名。使用引用时,必须在定义时进行初始化,不能在定义完后再赋值。 6.new运算符的作用是什么?delete运算符的作用是什么?

2.1 类和对象 (第二章 C++面向对象程序设计)

1. 什么是类?类的定义格式?类的成员一般分为哪两部分?它们的区别如何? 答:类是C++语言的数据抽象和封装机制,它描述了一组具有相同属性(数据成员)和行为特征(成员函数)的对象。类的定义格式如下: Class 类名 { private: //私有数据成员和成员函数 public: //共有数据成员和成员函数 protected: //受保护的数据成员和成员函数 }; 类的成员分为数据成员和成员函数两部分。数据成员定义了该类对象的属性,不同对象的属性值可以不同;成员函数定义了该类对象的操作即行为。 2. 类与结构体有什么区别? 答:c语言中的结构体只有数据成员,无函数成员。C++语言中的结构可有数据成员和成员函数。在默认情况下,结构体中的数据成员和成员函数都是共有的,而在类中可以是私有的。从外部可以随意修改结构体变量中的数据,对数据的这种操作时很不安全的,程序员不能通过结构体对数据进行保护和控制;在结构体中,数据和其相应的操作是分离的,使得程序的复杂性难以控制,而且程序的可重用性不好,严重影响了软件的生产效率。 3. 什么是对象?如何定义一个对象?对象的成员如何表示? 答:对象是类的实例,是属性和服务的封装体。对象的定义有两种方法: 方法一:在定义类的同时直接定义。 class 类名 { private: // public: // }对象1,对象2; 方法二:在使用时定义对象。 类名对象1,对象2; 对象的成员的表示有:

(1)通过对象调用成员。 格式:对象名.公有成员 其中,“.“成为对象的选择符,简称点运算符。 (2)通过指向对象的指针调用成员。 格式:指向对象的指针->成员 (3)通过对象的引用调用成员。 格式:对象的引用.成员 4. 什么是构造函数?构造函数有哪些特点? 答:构造函数就是与类名有相同名称的成员函数,它可自动进行对象的初始化。 特点:它没有返回值说明;它不能被继承;它可以有默认实参;它不可以是虚(virtual)的;不可以对它取地址;不能用常规调用方法调用构造函数;当定义对象时,编译程序自动调用构造函数。 5. 什么是析构函数?析构函数有哪些特点? 答:析构函数的作用是当对象生命期结束后,收回对象占用的资源。 析构函数的特点是:1) 析构函数名是在类名前加以符号“~”。2) 析构函数没有参数、返回类型和修饰符。3) 一个类中至多有一个析构函数,如果程序员没有定义析构函数,那么系统会自动地加入一个析构函数。4) 不能显式地调用析构函数,而是由系统自动调用。 6. 什么是默认构造函数和默认析构函数? 答:若用户未显式定义一个类的构造函数,则C++语言提供一个默认的构造函数,也叫默认构造函数。同样,如果一个类没有显式的定义类的析构函数,则编译器将合成一个,也就是默认的析构函数。 7. 什么是复制构造函数?它的功能和特点是什么? 答:复制构造函数是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构件及初始化。 复制构造函数的功能是用一个已有的对象来初始化一个被创建的同类对象,是一种特殊的构造函数,具有一般构造函数的所有特性,它的特殊功能是将参数代表的对象逐域拷贝到新创建的对象中。 在C++中,下面三种对象需要拷贝的情况。因此,复制构造函数将会被调用。

C++Primer Plus第十章对象与类课后习题

1. account.h #ifndef ACCOUNT_H_ #define ACCOUNT_H_ #include class BankAccount { private: std::string name; std::string account_m; double saving; public: BankAccount(const std::string & client, const std::string & num, double pr = 0.0); void show() const; void despoit(double pr); void withdraw(double pr); }; #endif account.cpp #include #include"account.h" BankAccount::BankAccount(const std::string & client, const std::string &

num, double pr ) { name = client; account_m = num; saving = pr; } void BankAccount::show() const { std::cout << "BankAccount : " << std::endl; std::cout << "Name is: " << name << " , Account: " << account_m << " , Saving: " << saving << " . " << std::endl; } void BankAccount::despoit(double pr) //存??款? { saving = pr + saving; } void BankAccount::withdraw(double pr) //取¨?款? { if(pr > saving) std::cout << "There is not so much money." << std::endl; else saving = saving - pr; } Main.cpp

C++程序设计与应用基础第二章 类和对象习题答案

C++程序设计与应用基础第二章类和对象习题答案 1、请完成下列填空题 1)在C语言中,编程的单位是___函数__:在C++语言中,编程的单位是____类__。 2)在下面程序的横线处填上适当的语句,使类型该程序执行结果为10。 #include class MyClass { pub1ic: ——MyClass(int a){x=a;}//为x置值 ——int GetNum(){return x;} //取x值 private: int x; }; void main() { Myclass my(10); Cout<

6)假定用户没有给一个名为MyClass的类定义构造函数,则系统对其定义的默认构造函数形式为___MyClass()_____。 2、编程题 1)定义一个复数类imaginary。用友元函数实现该类的加、减、乘和除运算。 答案: class Imaginary { public: Imaginary(float a,float b); friend Imaginary Add(Imaginary& img1,Imaginary& img2); friend Imaginary Sub(Imaginary& img1,Imaginary& img2); friend Imaginary Mul(Imaginary& img1,Imaginary& img2); friend Imaginary Div(Imaginary& img1,Imaginary& img2); private: float x,y; }; Imaginary::Imaginary(float a,float b) { x=a; y=b; } Imaginary Add(Imaginary& img1,Imaginary& img2) { float a,b; a=img1.x+img2.x;

课后习题 第十章 类与对象

一:选择题 1.在下列关键字中,用于说明类中公有成员的是__. a.public b.private c.protected d.friend 2.下列的各函数中,___不是类的成员函数. a.构造函数 b.析构函数 c.友元函数 d.复制构造函数 3.___不是构造函数的特征。 a.构造函数的函数名与类名相同 b.构造函数可以重载 c.构造函数可以设置缺省参数 d.构造函数必须指定类型说明 4.___是析构函数的特征。 a.一个类中只能定义一个析构函数 b.析构函数在对象创建时调用 c.析构函数的定义只能在类体内 d.析构函数可以有一个或多个参数 5.关于成员函数特征的下述描述中,___是错误的。 a.成员函数一定是内联函数 b.成员函数可以重载 c.成员函数可以设置参数的缺省值 d.成员函数可以是静态的 6.复制构造函数的形参是___。 a.某个对象名 b.某个对象的成员名 c.某个对象的引用名 d.某个对象的指针名 7.如果编程者没有显式定义构造函数(包括复制构造函数),C++编译器就___。 a.出现编译错误 b.没有构造函数 c.必须显示定义 d.隐式定义缺省的构造函数 8.静态成员函数仅能访问___。 a.静态的数据成员 b.非静态的成员函数 c.非静态的数据成员 d.以上都不对 9.静态数据成员的初始化必须在___。 a.类内 b.类外 c.在构造函数内 d.静态成员函数内 10.友元作用___。 a.提高程序的运用效率 b.加强类的封装性 c.实现数据的隐藏性

d.增加成员函数的种类 一:选择题: 1.A 2.C 3.D 4.A 5.A 6.C 7.D 8.A 9.B 10.A 二:判断题 1.使用关键字class定义的类中缺省的访问权限是私有(private)的。 2.构造函数和析构函数都不能重载。 3.说明或定义对象时,类名前不需加class关键字。 4.可以在类的构造函数中对静态数据成员进行初始化。 5.rotected和private区别在于:protected成员可以被派生类访问,而private成员则不能被派生类访问。 二:判断题 1.对 2.错 3.对 4.错 5.对 三、编程实现 1.创建一个类,具有public、private和protected数据成员和函数成员。创建该类的一个对象,看看试图存取所有的类成员时会得到一些什么信息。编写一个全局friend函数来访问该类的私有数据成员。 2.创建一个没有任何构造函数的类,显示可以用缺省的构造函数创建对象。然后为该类创建一个非缺省的构造函数(带一个参数),试着在编译一次,解释发生的现象。 3.建立一个类,该类包含const成员函数和非const成员函数,然后建立这个类的const和非const对象。分别为这两种类型的对象调用两种成员函数,解释发生的现象。 4.利用静态数据成员的概念,编写一个类,可以统计目前存在多少个该类的对象。 5.列举调用复制构造函数的三种情况。 6.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y),成员函数包括点的位置获取函数GetX()和GetY(),点的位置设置函数SetX()和SetY(),和点的位置移动函数MoveTo()以及点的信息打印函数Display ()。 7.编写几何图形圆的类Circle,包括两个属性:圆心O(用上题中的Point类实现)和半径R。成员函数包括:圆心位置获取函数GetO()和半径获取函数GetR();半径位置设置函数SetR();圆的位置移动函数MoveTo();圆的半径设置函数SetR();以及圆的信息打印函数Display()。 8.编写复数类Complex。实现各种常用构造函数,实现整数、实数向复数的转化函数,实现整数、实数和复数以及复数之间的加、减、乘、除各种运算,实现==、!=等逻辑运算。 三、编程实现

第5章 类与对象

第5章类与对象 实验22 类的定义 1. 实验目的 (1)学习类的一般结构。 (2)学习类的成员变量的声明格式。 (3)学习类的成员方法的声明格式。 2. 实验要求 编写一个Java程序,在程序中定义一个Student类,并且完善Student类的结果。 3. 程序模板 public class Student { String name; int age; 【代码1】// 定义一个整型属性Chinese 【代码2】// 定义一个整型属性math 【代码3】// 定义一个整型属性english int total(){ 【代码4】// 返回chinse、math以及english三个整型属性的总和 } int average(){ 【代码1】// 返回chinse、math以及english三个整型属性的平均值 } } 实验23 对象的创建与使用 1. 实验目的 (1)学习Java程序中对象的创建。 (2)学习Java程序中调用对象的成员变量与成员方法。 2. 实验要求 编写一个Java程序,在程序中创建Student类的两个实例,并访问它们的属性和方法。 public class MyObject { public static void main(String[] args) { Student s1 = new Student(); https://www.doczj.com/doc/4017865405.html, = "张三"; s1.age = 13; s1.chinese = 80; s1.math = 90; s1.english = 85; System.out.println("你好,我叫" + https://www.doczj.com/doc/4017865405.html, + ",我今年" + s1.age + "岁"); System.out.println("我的总分是" + s1.total()); System.out.println("我的平均分是" + s1.average()); //创建Student类的一个实例2

c++第2章 类和对象习题

《面向对象程序设计》习题班级:学号:姓名:名单序号:成绩: 第2章类与对象 一、选择题(共26分,每题1分) 1.下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 2.下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数), X::~X() C.X::X(参数), X::~X(参数) D.void X::X(参数), void X::~X(参数) 3.()的功能是对象进行初始化。 A.析构函数 B.数据成员 C.构造函数 D.静态成员函数 4.下列表达方式正确的是()。 A.class P{ B. class P{ public:public: intx=15;int x; void show(){cout<

第五章习题集(带答案)

第五章判断题 F 1 ASCII、GB2312、GB18030、Unicode是我国为适应汉字信息处理需要制定的一系列汉字编码标准。(判断) F 2 MPEG-1声音压缩编码是一种高保真声音数据压缩的国际标准,它分为三个层次,层1的编码效果最佳,层3最差。(判断) F 3 美国标准信息交换码(ASCII码)中,共有128个字符,每个字符都可打印。(判断)T 4 人们说话的语音频率范围一般在300HZ--3400KHZ之间,数字化时取样频率大多为8kHz。(判断) F 5 若中文Windows环境下西文使用标准ASCII码,汉字采用GB2312编码,则十六进制内码为C4 CF 50 75 B3 F6的文本中,含有4个汉字。(判断) F 6 数字声音虽然是一种连续媒体,但与文本相比,数据量不大,对存储和传输的要求并不高。(判断) T 7 为了与ASCII字符相区别及处理汉字的方便,在计算机内,以最高位均为1的2个字节表示GB2312汉字。(判断) T 8 西文字符在计算机中通常采用ASCII码表示,每个字节存放1个字符。(判断) F[01]. 文本处理强调的是使用计算机对文本中所含的文字信息进行分析和处理,因而文本检索不属于文本处理。(判断) T[02]. 中文Word是一个功能丰富的文字处理软件,它不但能进行编辑操作,而且能自动生成文本的"摘要"。(判断) F [03]. Linux和Word都是文字处理软件。(判断) T [04]. 与文本编辑不同的是,文本处理是对文本中包含的文字信息的音、形、义等进行分

析、加工和处理。(判断) T[05]. 文本展现的大致过程是:首先对文本格式描述进行解释,然后生成字符和图、表的映象,然后再传送到显示器或打印机输出。(判断) F [06]. OFFICE软件是通用的软件,它可以不依赖操作系统而独立运行。(判断) [07]. 目前广泛使用的Google、百度等搜索引擎大多数是基于全文检索原理工作的。(判断)T[08]. 声音获取时,影响数字声音码率的因素有三个,分别为取样频率、量化位数和声道数。 F[09]. 若未进行数据压缩的波形声音的码率为64kb/s,已知取样频率为8KHz,量化位数为8,那么它的声道数目是2。(判断) T[10]. 对语音信号取样时,考虑到既不失真又要尽量减少数据量,取样频率一般不低于8KHZ。(判断) T[11]. 声音信号的量化精度一般为8位、12位或16位,量化精度越高,声音的保真度越好、但噪音也越大;量化精度越低,声音的保真度越差、噪音也越低。(判断) T[12]. 声卡在计算机中用于完成声音的输入与输出,即输入时将声音信号数字化,输出时重建声音信号。(判断) T[13]. 承担文本输出(展现)任务的软件称为文本阅读器或浏览器,它们可以嵌入到文字处理软件中,也可以是独立的软件。(判断) 第五章填空题 1 PC机中用于视频信号数字化的设备称为___视频采集_____卡,它能将输入的模拟视频信号及伴音进行数字化。(填空)或视频

相关主题
文本预览
相关文档 最新文档