山东师范大学面向对象程序设计课件第六章第一部分 类和对象.pptVIP

山东师范大学面向对象程序设计课件第六章第一部分 类和对象.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计 第六章 类和对象 6.1类的定义 类的定义格式分为说明部分和实现部分。说明部分说明该类中的成员,包含数据成员的说明和成员函数的说明。成员函数是用来对数据成员进行操作的,又称为“方法”。实现部分是用来对成员函数的定义。 类的一般定义格式如下: class?类名 {  ?public:  成员函数或数据成员的说明  ?private:   数据成员或成员函数的说明 }; 各个成员函数的实现 class是定义类的关键字,类名是种标识符,通常用T字母开始的字符串作为类名。一对花括号内是类的说明部分(包括前面的类头)说明该类的成员。类的成员包含数据成员和成员函数两部分。从访问权限上来分,类的成员又分为:公有的(public)、私有的(private)和保护的(protected)三类。公有的成员用public来说明,公有部分往往是一些操作(即成员函数),它是提供给用户的接口功能。这部分成员可以在程序中引用。私有的成员用private来说明,私有部分通常是一些数据成员,这些成员是用来描述该类中的对象的属性的,用户是无法访问它们的,只有成员函数或经特殊说明的函数才可以引用它们,它们是被用来隐藏的部分。 关键字public、private和protected被称为访问权限修饰符或访问控制修饰符。它们在类体内(即一对花括号{}内)出现的先后顺序无关,并且允许多次出现,用它们来说明类成员的访问权限。 各个成员函数的实现是类定义中的实现部分,这部分包含所有在类体内说明的函数的定义。如果一个成员函数在类体内定义了,实现部分将不出现。如果所有的成员函数都在类体内定义,则实现部分可以省略。 下面给出一个日期类定义的例子: class?TDate //类的说明部分 {  public:   void?SetDate(int?y,?int?m,?int?d);   int?IsLeapYear();   void?Print();  private:   int?year,?month,?day; }; void?TDate::SetDate(int?y,?int?m,?int?d) //类的实现部分 { year?=?y; month?=?m; day?=?d; } int?TDate::IsLeapYear() { return(year%4==0??year%100!=0)?||?(year%400==0); } void?TDate::Print(); { coutYEAR.MONTH.DAYendl;} 定义类时应注意的事项 1.在类体中不允许对所定义的数据成员进行初始化。例如,下面的定义是错误的: class date { int year=1992,month=4,day=20; public: …… } 由同一个类所创建的对象的数据结构是相同的,类中的成员函数是共享的。两个不同的对象的名字是不同的,它们的数据结构的内容(即数据成员的值)是不同的。因此,系统对已定义的对象仅给它们分配数据成员变量,而一般数据成员又都为私有成员,不同对象的数据成员的值可以是不相同的。 3.一般地,在类体内先说明公有成员,它们是用户所关心的,后说明私有成员,它们是用户不感兴趣的。在说明数据成员时,一般按数据成员的类型大小,由小至大说明,这样可提高时空利用率。 4.经常习惯地将类定义的说明部分或者整个定义部分(包含实现部分)放到一个头文件中。 每个类定义引入一个不同的类class类型,即使两个类的类型具有完全相同的成员表,它们仍是不同的类型。例如: class First { int memi; double memd; }; class Second { int memi; double memd; }; class First obj1; Second obj2 = obj1; // 错误: obj1 和obj2 类型不同 对象是类的实例。对象是属于某个已知的类。因此,定义对象之前,一定要先定义该对象的类。 创建一个对象有两种方法: 1.在定义类的同时创建对象 一般格式为: class 类名 { …… } 对象名表; 2. 对象在定义了类以后,定义格式如下: 类名 对象名表 其中,类名是待定的对象所属的类的名字,即所定义的对象是该类类型的对象。对象名表中可以有一个或多个对象名,多个对象名时用逗号分隔。对象名表中,可以是一般的对象名,还可以是指向对象的指针名或引用名,也可以是对象数组名。如: TDate?da

文档评论(0)

ormition + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档