- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 类 和 对 象 本章学习内容 掌握函数的声明和定义、函数的调用及函数的参数传递过程; 掌握类的声明、类成员的访问控制、类的成员函数的定义; 掌握对象的定义和引用、对象的赋值; 掌握类的构造函数和析构函数; 掌握对象指针和动态对象; 掌握对象数组的定义及初始化、this指针的使用; 掌握静态数据成员和静态成员函数的定义与使用; 掌握友元函数和友元类的定义与使用。 本章目录 第十九讲 类和对象基础知识 第二十讲 构造函数和析构函数 第二十一讲 对象的使用 第二十二讲 静态成员和友元 本章小结 第十九讲 类和对象基础知识 一、类的声明、成员函数及访问权限,对象的定义和引用及对象的赋值 练一练 一、类的声明、成员函数及访问权限,对象的定义和引用及对象的赋值 【实例7-1】 定义一个描述矩形类Rectangle,用该类定义两个对象,分别计算它们的周长和面积并输出。 程序分析: (1)在本程序首先要定义一个类,该类中包括两个数据成员width和height,还有3个成员函数Init()、Getmeter()和Area()。 (2)在主函数中用该类定义两个对象obj1和obj2。 (3)在主函数中调用成员函数Init()输入到数据成员width和height中,调用成员函数Getmeter()计算obj1的周长,再调用成员函数Area()计算obj1的面积。将obj1的各数据成员赋给对象obj2后,调用成员函数Getmeter()计算obj1的周长,再调用成员函数Area()计算obj1的面积,同理再求出obj2的周长和面积并输出结果。所以这两个矩形的长、宽相同,它们的周长和面积也相同。编写程序代码: 点击打开【实例7-1】源程序。 程序运行结果如下: 1.类的声明 类声明的形式,类的声明即是类的定义。可以认为类是一个包含函数的结构体。因此,类的定义与结构体类型的定义相似,一般形式如下: 说明: 类名是类的名称,应是一个合法的标识符;public、protected、private为存取控制属性(访问权限),用来控制对类的成员的存取。如果前面没有标明访问权限,默认访问权限为private。 类的成员有数据成员与函数成员两类,类的数据成员和函数成员统称为类的成员,类的数据成员一般用来描述该类对象的属性,称为属性;函数成员是描述类行为,称做方法。函数成员由函数构成,这些作为类成员的函数因此也叫成员函数。 注意: 类声明结束时,右大括号“}”后的“;”表示类声明结束,不能被省略。 2.类成员的访问控制 通过设置成员的存取控制属性, 使对类成员的存取得到控制,从而达到了信息隐藏的目的。 C++的存取控制属性有公有类型(public)、私有类型(private)和保护类型(protected)。三者的意义如表7-1所示。 各关键字的含义如下: ? 公有类型用来声明类的外部接口。公有成员用public关键字声明,任何一个来自外部的访问都必须通过这种外部接口来进行。 ? private关键字后面声明的就是类的私有类型成员,如果私有成员紧接着类名称,私有关键字可以省略,也就是说在默认情况下类成员会被当做私有类型。只有本类的成员函数和友元函数(后面章节讲)可以访问私有类型的成员,而类外的任何访问都是非法的。 ? protected关键字定义的保护类型成员的性质和私有类型的性质相似,其差别在于继承过程中对新类的影响不同。 3.成员函数 作为类成员的成员函数描述了对类中的数据成员实施的操作。成员函数的定义、声明格式与非成员函数(全局函数)的格式相同。成员函数可以放在类中定义,也可以放在类外。 1)类中定义的成员函数 放在类中定义的成员函数为内联(inline)函数。定义在类中的成员函数一般规模都比较小,只有1~5句语句。它们一般即使没有明确用inline标示,也被认为是内联函数。 2)类之后定义的成员函数 C++可以在类内声明成员函数的原型,在类外定义函数体。这样做的好处是相当于在类内列了一个函数功能表,使我们对类的成员函数的功能一目了然,避免了在各个函数实现的大堆代码中查找函数的定义。在类中声明函数原型的方法与一般函数原型的声明一样,在类外定义函数体的格式如下: “::”是类的作用域分解运算符,用在此处,放在类名后成员函数前,表明后面的成员函数属于前面的那个类。 3)用这种方法定义成员函数应注意以下事项: (1)在所定义的函数名前必须缀上类名,类名与函数名之间必须加上作用域运算符“::”,如上面成员函数头中的Rectangle:: Init。 (2)在类内声明成员函数的函数原型时,参数表中的参数可以只说明参数的数据类型而省略参数
文档评论(0)