- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4 静态成员 6.4.1 静态数据成员 静态数据成员不从属于任何一个具体对象,所以必须对它初始化,而且对它的初始化不能在构造函数中进行。 静态数据成员的定义和使用方法如下: (1) 静态数据成员的定义格式为: static 数据类型 静态数据成员名; (2) 静态数据成员初始化的格式为: 数据类型 类名::静态数据成员名 = 值; (3) 静态数据成员的访问格式为: 类名::静态数据成员名 6.4 静态成员 6.4.2 静态成员函数 类似于静态数据成员,也可以把成员函数声明为静态的,即静态成员函数。静态成员函数也是属于整个类,只要类存在,静态成员函数就可以使用。 因此,对静态成员的引用不需要用对象名。在静态成员函数的实现中不能直接引用类中说明的非静态成员,但可以引用类中说明的静态成员。如果静态成员函数中要引用非静态成员时,则可通过对象来引用。 (1) 静态成员函数的声明格式为: static 返回类型 静态成员函数名([形式参数列表]); 6.4 静态成员 (2) 静态成员函数的定义可以在类体内,也可以在类体外。 ? 在类体内定义格式为: static 返回类型 静态成员函数名([形式参数列表]) { 函数体 } ? 如果在类体外定义,首先要在类体内声明函数。在类体外定义格式为: 返回类型 静态成员函数名([形式参数列表]) { 函数体 } (3) 静态成员函数的访问格式为: 类名::静态成员函数名 ([参数表]); 6.5 友元 类具有封装性和隐藏性。只有类的成员函数才能访问该类的私有成员,而程序中的其它函数是无法访问的类中私有成员的,它们仅能访问类中的公有成员。这给类的数据访问带来了不便。为了解决这个问题,C++提供了友元机制。 6.5.1 普通函数作为友元函数 要使一个函数成为某个类的友元函数,必须在该类中对此函数进行声明。声明友元函数的方式是在类中使用关键字friend,其一般格式为: friend 返回类型 友元函数名([参数表]); 6.5 友元 6.5.3 友元类 不仅函数可以作为一个类的友元,一个类也可以作为另一个类的友元,这时该类称为友元类。 当一个类作为另一个类的友元时,意味着这个类的所有成员函数都是另一个类的友元函数。可以按如下方式定义友元类: class A { ... friend class B; //定义类B是类A的友元类 }; class B { ... public: void f1(); float f2(); float f3(); }; 于是,在B类的所有成员函数(如f1()、f2()、f3())中,均可直接访问A类的私有成员。 6.6 类与指针 一个对象一旦被创建,系统就给它分配了一个存储空间,该存储空间的起始地址可以象简单变量的地址一样,使用指针变量操作。对象初始化后,会占用内存空间,可以使用指针变量指向对象起始地址,称为对象指针。 对于类来说,可以定义指向其对象的指针和指向类成员的指针。此外,在C++的类中,还有一种特殊的指针,即this指针。 6.6 类与指针 6.6.1 指向类对象的指针 类作为一种数据类型,可以定义变量(即对象),也可定义指针,即指向类类型变量(对象)的指针,称为指向类对象的指针或指向对象的指针。 ? 指向类对象指针的定义格式为: 类名 *指针变量名; ? 对象指针一旦指向某一对象后,就可以用它进行访问。通常使用“-”或“ (* ).”运算符: 指针变量 - 成员 (*指针变量).成员 6.6 类与指针 6.6.2 new和delete函数 new和delete是C++动态申请存储单元和删除存储单元的函数。对于动态申请存储空间,只能通过指针间接访问,而没有直接访问方式。 1.new运算符 new运算符常用的四种格式如下: (1) 格式一: 指针变量 = new 数据类型; 功能:申请一个数据类型变量的空间,返回该空间的起始地址,并赋给指针变量。 6.6 类与指针 (1) 格式二: 指针变量 = new 数据类型(值); 功能:申请一个数据类型变量的空间,用值初始化该空间,返回该空间的起始地址,并赋给指针变量。与格式一的区别在于给定变量初值。 (3) 格式三: 指针变量 = new 数据类型[表达式]; 功能:申请一个一维数组空间,数据元素类型是数据类型,元素的个数是表
您可能关注的文档
- 除芒机的结构与工作原理.ppt
- 除芒机的使用调整.ppt
- 除芒机的维护保养及安全使用.ppt
- 顶棚装饰梁施工.ppt
- 非正弦周期电流、电压的 有效值,平均值,平均功率.ppt
- 非正弦周期量的分解傅立叶级数展开.ppt
- 集成电路设计CAD_EDA工具实用教程1-Spectre_Verilog数模混合仿真.ppt
- 集成电路设计CAD_EDA工具实用教程2-Spice_Spectre.ppt
- 集成电路设计CAD_EDA工具实用教程10-布局布线.ppt
- 集成电路设计CAD_EDA工具实用教程12-可测性设计及DFT软件的使用.ppt
- 《2025年农产品检测报告:食品安全管控中快速检测技术企业竞争》.docx
- 2025年天津市县乡教师选调考试《教育学》试卷带解析【突破训练】.docx
- 《2025年数字人民币行业报告:零售电商场景落地加速分析》.docx
- 《2025年方便食品行业高端化趋势与场景化产品创新市场趋势研究报告》.docx
- THNBX-海南消费领域区域公共品牌特色产品技术规范 糟粕醋及编制说明.pdf
- 2025年酒吧行业服务标准化路径报告.docx
- 《2025年纺织机械智能化改造市场前景报告》.docx
- 2025年天津市县乡教师选调考试《教育学》试卷带解析【满分必刷】.docx
- 2025年天津市县乡教师选调考试《教育学》试卷带解析【有一套】.docx
- 2025年全球新型储能系统政策支持力度评估.docx
原创力文档


文档评论(0)