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

实验5 类和对象应用要点.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验5 类和对象的应用 一、实验目的 掌握类定义的基本格式和类成员的访问控制。 掌握对象定义和利用构造函数对对象的数据成员进行初始化的方法。 掌握成员函数的定义与使用。 理解并掌握静态数据成员和静态成员函数的使用方法。 理解友元函数的使用方法。 二、知识要点 1. 类的定义 在面向对象程序设计中,类(class)就是对现实世界中抽象出的“类”的模拟描述,是用户自己定义的数据类型,它的一般定义格式如下: class 类名 { private: 私有数据成员和成员函数; protected: 保护数据成员和成员函数; public: 公有数据成员和成员函数; }; 类中各个成员函数的实现 说明:protected访问控制符主要用在类的继承中,后续中会讲到 const类名对象名[(初值)]; 在定义常对象时必须进行初始化,而且常对象不能被更新。 常数据成员 在类中使用关键字const来说明某个数据成员为常数据成员。如果在一个类中说明了常数据成员,那么构造函数就只能通过初始化列表对该数据成员进行初始化,而任何其他函数都不能对该数据成员赋值。 类的常数据成员即可以是常量也可以是常引用,由于必须初始化,因此,类中这些常数据成员必须也只能通过构造函数的成员初始化列表来实现初始化工作。 常成员函数 在类中使用关键字const说明的函数称为常成员函数,它的一般说明形式是: 类型成员函数名([参数表])const; const是函数类型的一个组成部分,因此在函数的实现部分也要带关键字const。 关于常成员函数的说明: (1)常成员函数不能调用该类中的普通成员函数,因而也不能更新对象的数据成员; (2)如果将一个对象设为常对象,则该对象只能调用它的常成员函数,而不能调用普通的成员函数,这是C++在安全机制上的考虑。 常类型的函数参数传递 将形参设置为const引用形参或const地址(指针)形参,这样就可以保障安全快捷的传递对象了。将函数形参设为const型引用和指针的一般形式是: const类型说明符引用名 const类型说明符*指针变量名 18.静态数据成员 C++中同一个类定义多个对象时,每个对象都拥有各自的成员,而静态数据成员是类的所有对象中共享的成员,它不因对象的建立而产生,也不因对象的消失而删除,它是类定义的一部分,属于整个类,即属于所有对象。 由于静态数据成员不专属于任何一个具体对象,但任何一个对象在声明前都需要它提前拥有一个值,因此C++规定:必须对类的静态数据成员初始化,并且它的初始化不能在构造函数中进行。 静态数据成员初始化的方法一般采用如下形式: 类型类名::静态数据成员=值; 关于静态数据成员初始化的进一步说明: (1) 初始化在类体外进行,其前面不加static; (2) 初始化时不加该成员的访问权限控制符private、public或protected; (3) 即使静态数据成员是私有的,也可以在类外有文件作用域的地方直接初始化,一般在类的定义之后马上初始化。 在引用公有的静态数据成员时采用下面的形式:类名::静态数据成员 19.静态成员函数 静态成员函数的定义和其他成员函数相同。但它的特点与静态数据成员类似,不专属于任何一个对象,为整个类所共享。静态成员函数的定义方法是在一般成员函数的定义前面加上static关键字。 关于静态成员函数的说明如下: (1) 调用静态成员函数的格式一般采用如下形式: 类名::静态成员函数名(参数表); (2) 静态成员函数只能访问静态数据成员、其他静态成员函数和类以外的函数与数据,不能访问类中的非静态数据成员,因为非静态数据成员只有对象存在时才有意义。 (3) 静态成员函数不能声明为虚函数。 20.友元 友元是一种定义在类外部的普通函数或类,但它需要在类体内声明为“朋友”。友元的作用在于提高程序的运行效率,但是从某种程度上讲,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员,因此在程序设计时应该严格限制使用。 友元可以是一个函数,称之为友元函数,它也可以是一个类,该类被称为友元类。下面分别介绍这两种友元。 (1) 友元函数 为了与该类的成员函数加以区别,在类内说明友元函数时需要在前面加上关键字friend。需要注意的是友元函数不是成员函数,但是它可以访问类中的私有成员。 定义友元函数的方式是在类定义中用关键字friend说明该函数,其格式如下: friend类型友元函数名([参数表]); 说明:友元函数说明的位置可以在类中的任何位置,意义完全一样。友元函数定义则必须在类的外部,一般与类的成员函数定义在一起。声明类的友元函数的目的就是为普通函数提供直接方便的访问该类的所有成员的权限。 (2) 友元

文档评论(0)

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

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

1亿VIP精品文档

相关文档