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

第七章C 程序的结构.ppt

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

第七章 C++程序的结构 本章要点: 作用域 生存期 数据与函数 静态成员 友员 共享数据的保护 7.1、作用域 作用域:标识符在程序中的有效区域。 C++中的作用域有函数原型作用域、块作用域、类作用域和文件(全局)作用域: 函数原型作用域:它的范围只限于函数原型的声明。 块作用域:它的范围只限于定义标识符的一对大括号之内。其作用域从声明处开始,一直到块结束的大括号为止。 7.1、作用域 类作用域:类中的成员所具有的作用域。私有成员和受保护成员只能被类内部的成员函数访问, 公有成员可以使用“?” 或 “-”来访问。 文件(全局)作用域:它的范围限于定义标识符的程序文件之内。其作用域从声明处开始,程序文件结束为止。 文件(全局)作用域 类作用域 块作用域 函数原型作用域 7.1、作用域 同名覆盖:如果在两个或者多个具有包含关系的作用域中声明了同名标识符,则外层标识符在内层是不可见的。 7.2、生存期 生存期:变量或对象从诞生到结束的这段时间。 C++变量或对象的生存期分为两类:静态生存期和动态生存期。 静态生存期:如果变量或对象的生存期和程序的运行时间相同,我们就称它具有静态生存期。在文件作用域中的变量和对象具有静态生存期,在块作用域中声明具有静态生存期的变量或对象要使用关键字static。 7.2、生存期 动态生存期:如果变量或对象诞生于声明点,结束于作用域结束处,我们称它具有动态生存期。除了以上两种情况,其余的对象和变量都具有动态生存期。 7.3、数据与函数 在函数中经常使用如下几类变量和对象: 局部变量(对象):在函数内部定义的变量(对象)。它的作用域是块作用域,生存期是动态生存期。 静态局部变量(对象):在函数内部用static关键字声明的变量(对象)。它的作用域是块作用域,生存期是静态生存期。 7.3、数据与函数 全局变量(对象):在函数和类外定义的变量(对象)。它的作用域是文件作用域,生存期是静态生存期。 对象的构造和析构次序: 全局对象最先被构造,只被构造一次;最后被析构,只被析构一次。 静态局部对象在对象声明时构造,只被构造一次;在程序结束时被析构,只被析构一次。 7.3、数据与函数 局部对象在对象声明时构造,在其所在函数结束时析构。构造和析构的次数与其所在函数的执行次数相同。 同一域内先构造的后析构,后构造的先析构。 7.4、静态成员 类的静态成员包括静态数据成员和静态成员函数: 静态数据成员: 静态数据成员的定义方式: static 数据类型 成员名; 静态数据成员的初始化:静态数据成员不能在构造函数中初始化,初始化应在类外单独进行,而且应在生成对象之前进行。 数据类型 所属类名::数据成员名=value; 7.4、静态成员 静态数据成员的访问:静态数据成员有两种访问方式。 A、类名::数据成员名=value; B、通过对象来访问。 C、以上两种方式只能访问公有的静态成员。 7.4、静态成员 静态成员函数: 静态成员函数的定义方式: static 数据类型 成员函数名(形参列表) { 语句; } 静态成员函数不能直接访问类中的非静态数据成员。 7.4、静态成员 静态成员函数使用: A、类名::成员函数名(实参列表); B、通过对象来访问。 7.5、友员 C++中的友员包括友员类和友员函数。 友员函数:在类中用friend关键字修饰的非成员函数。在它的函数体中可以通过对象名访问类中私有和保护成员。 友员函数的声明方式: //友元函数类中声明,友元函数可在类中任意位置声明 class a {friend void show();}; //友元函数的定义 Void show(){……} 7.5、友员 友员类:用同样的方式我们可以声明友员类。如果类B是类A的友员类,则类B中的全部成员函数均为类A的友员函数。 友员类的声明方式: //友元类类中声明,友元类声明可在类中任意位置 class a {friend class b;}; //友元类的定义 class b{……}; 7.5、友员 注意:友员关系不能传递;友员关系是单向的。 7.6、共享数据保护 常引用:如果在引用时用const关键字修饰,被说明的引用为常引用。常引用被引用的变量(对象)不能被更新。 const 类型 引用名; 常对象:其数据成员的值在整个对象的生存期内不能被更改。 类名 const 对象名; 常对象不能调用

文档评论(0)

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

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

1亿VIP精品文档

相关文档