网站大量收购闲置独家精品文档,联系QQ:2885784924

C程序设计第八章类与对象.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计第八章类与对象

第8章 类与对象 教学内容 8.1 类和对象 8.2 构造函数和析构函数 8.3 对象数组和对象指针 8.4对象的动态建立和释放 8.1 类和对象 类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象语言的共同特征,所有面向对象的语言都提供了这种类型。一个有一定规模的C++程序是由许多类所构成的。 对象 = 算法 + 数据结构 程序 = (对象+对象+对象+…)+消息 或:程序 = 对象s + 消息 “对象s”表示多个对象。消息的作用就是对对象的控制。程序设计的关键是设计好每一个对象,以及确定向这些对象发出的命令,使各对象完成相应操作。 8.1类和对象—类的声明和对象的定义 1.类和对象的关系 每一个实体都是对象,有一些对象具有相同的结构和特性,每个对象都属于一个特定的类型。在C++中,对象的类型称为类,类代表了某一批对象的共性和特征。前面已说明,类是对象的抽象,而对象是类的具体实例。 如同结构体类型和结构体变量的关系一样,人们先声明一个结构体类型,然后用它去定义结构体变量,同一个结构体类型可以定义出多个不同的结构体变量。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象,对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在一开始时就弄清对象和类的关系是十分重要的。 8.1类和对象—类的声明和对象的定义 2.声明类类型 类是用户自己指定的类型。如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类。C++标准本身并不提供现成的类的名称、结构和内容。在C++中声明一个类类型和声明一个结构体类型是相似的。 8.1类和对象—类的声明和对象的定义 3.类和结构体的异同 C++增加了类类型后,仍保留了结构体类型(struct),而且把它的功能也扩展了。C++允许用struct来定义一个类类型。 8.1类和对象—类的成员函数 1.成员函数的定义 在类定义体中给出函数的声明,说明函数的参数表和返回值类型,在类定义之外给出函数的具体实现,这是一般成员函数的定义方法。与普通函数不同的是,类外定义成员函数时要指明类的名称,具体形式为: 返回值类型 类名∷函数成员名(参数表) { 函数体 } 8.1类和对象—类的成员函数 2.带缺省值的成员函数 前面讲过带缺省形参值的函数,同样,类的成员函数也可以有缺省形参值,其调用规则与普通函数相同。在实际问题中,有时候这个缺省值可以带来很大的方便。例如,时钟类的函数SetTime()就可以使用缺省值。 8.1类和对象—类的成员函数 3.内联成员函数 内联成员函数的声明有两种方式——隐式声明和显式声明。将函数体直接放在类定义体内,这种方法称之为隐式声明。例如,将时钟类的函数ShowTime声明为内联成员函数,可以显式声明写作: inline void Clock∷ShowTime() { cout Hour : Minute : Second endl; } 8.1类和对象—类的成员访问控制 类的成员包括数据成员和成员函数,分别描述类所表达问题的属性和行为,是问题特性的不可分割的两个方面。成员数据的定义方式与一般的变量相同,只要将这个定义放在类的定义体中即可,它与一般变量的区别就在于其访问的权限可以由类来方便地控制。 类成员访问权限的控制,就是类的隐藏和封装,这种控制是通过设置成员的访问控制属性来实现的。访问控制属性可以有以下三种:公有类型(public)、私有类型(private)和保护类型(protected)。 8.1类和对象—对象成员的引用 在程序中经常需要访问对象中的成员。访问对象中的成员可以有三种方法: 通过对象名和成员运算符访问对象中的成员。 通过指向对象的指针访问对象中的成员。 通过对象的引用变量访问对象中的成员。 void main() { Clock *pa,*pb,aClock,bClock; aClock.setMinute(12); aClock.setHour(16); aClock.setSecond(27); bClock=aClock; pa=new Clock; pa-setHour(10); pa-setMinute(23); pa-setSecond(34); pb=pa; pa-dispTime(); pb-dispTime(); aClock.dispTime(); bClock.di

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档