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

第8章类和简单对象.ppt

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

C++ 语言程序设计;概 述;8.1 类的定义;8.1.1 类的概念;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.2 类的定义格式;8.1.3 类的定义举例;8.1.3 类的定义格式举例;8.1.3 类的定义格式举例;8.1.3 类的定义格式举例;8.2.1 对象的定义格式;8.2.1 对象的定义格式;8.2.2 对象的成员表示;8.2.2 对象的成员表示;8.2.2 对象的成员表示;8.2.2 对象的成员表示;8.2.2 对象的成员表示;8.3 对象的初始化;8.3.1构造函数和析构函数;8.3.1构造函数和析构函数;8.3.1构造函数和析构函数;8.3.1构造函数和析构函数;8.3.1构造函数和析构函数;8.3.2拷贝构造函数和默认拷贝构造函数;8.3.2拷贝构造函数和默认拷贝构造函数;8.3.2拷贝构造函数和默认拷贝构造函数;8.4 成员函数的特征;例86程序分析: 程序中,在类XY中,定义了5个成员函数,其中一个是构造函数,另外有两个成员函数fun1()和fun2()是内联函数,还有两个成员函数虽然定义在函数体外,但是由于加了关键字inline,也成为了内联函数,它们是fun3()和fun4().;8.4.2成员函数的重载性 例87 8.4.3成员函数可以设置默认参数 例88;8.5静态成员;8.5.1静态数据成员 静态数据成员作为类的一种成员,它被类的所有对象共享,而不是属于某个对象的.在存储上只需存储一处,就可以供所有对象使用.因此,可以节省内存.静态数据成员由于是共用的,它的值对每个对象都是一样的.静态数据成员的值可以被更新.只要对静态数据成员的值更新依次,所有对象的该静态数据成员值都被更新,并且值是相同的,这样可以提高效率.;1.静态数据成员的定义或说明 静态数据成员定义或说明在类体内,在该成员名的类型说明符前边加关键字static.例如: class A { … private: int a; static int b; }; 其中,类A中定义了一个私有的静态数据成员b,它是int型的。而数据成员a是一般的私有数据成员。;2.静态数据成员的初始化 静态数据成员被定义后,必须对它进行初始化.初始化在类体外进行,一般放在该类的实现部分是最合适,也可以放在其他位置,例如,放在主函数前面等. 静态数据成员的初始化与该类的构造函数和析够函数无关,它的初始化格式如下: 数据类型类名::静态数据成员名=值; 这里,使用了作用域运算符“::”,来说明静态数据成员所属的类.在初始化时,不加关键字static,以免与静态对象相混淆.例如, ; class B { public: B(int i); … private: int a; static int b; }; B::B(int i) { a=i; cout“Creat one object\n”; } int B::b=5; …;8.5.2静态成员函数 对静态成员函数的说明和定义也与静态数据成员一样,在成员函数名前的类型说明符前加关键字static,函数实现可在类体内,也可在类体外,与一般成员函数相同. 在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员,如果非要引用非静态成员时,可通过对象来引用. 对静态成员函数的引用,在程序中一般使用下列格式: 类名::静态成员函数(参数) 有时,也用对象来引用,格式如下: 对象名.静态成员函数(参数) ;8.6 友元;8.6.1 友元函数 特点: 1.说明在类体内,说明时在函数的类型说明符前加关键字friend. 2.定义在类体外,定义格式同于一般的普通函数. 3.友元函数是非成员函数,在调用上与普通函数相同. 4.友元函数可以直接访问该类中的私有成员.;8.6.2 友元类 友元类是一种友元,它是把一个类当作另一个类的友元。当一个类作为另一个类的友元时,友元类中的所有成员函数都是另一个类的友元函数。 例8.12 程序分析: 该程序中有两个新的语法现象: 1、友元类的应用 在该程序的类X中说明一个友元类Y,即类Y是类X的友元类,类Y中的所有成员函数都可以引用类的私有成员。在类Y的成员函数中,引用了类X的两个私有数据成员,其中y是静态数据成员。同样,在类Y的成员函数Display()中,又引用了类X的私有数据成员x和y。;2、对象成员的使用 该程序的类Y有一个私有的数据成员是类X的一个对象a,一个类的对象可以作另一个类的成员。程序中

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档