- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * 面向对象程序设计 - 第三章 类与对象 3、静态成员函数 静态成员函数是指使用static关键字声明的成员函数 与静态数据成员一样,静态成员函数不是某一个对象的成员,而是属于整个类 静态成员函数可以直接访问该类的静态数据成员,而访问非静态数据成员则需要通过对象进行调用 直接访问非静态数据成员有错误 * 应用静态成员函数的优点 ●静态成员函数只能直接访问该类中的静态数据成员,而不会影响该类的其他数据成员; ●采用静态成员函数,可以在创建对象之前处理静态数据成员,这是普通成员函数不能实现的; ●静态成员函数在同一个类只有一个成员函数的地址映射,节约了计算机系统的开销; ●静态成员函数不能直接访问类中的非静态成员。如果静态成员函数需要访问非静态成员,需要通过对象名才能访问该对象的非静态数据成员。 面向对象程序设计 - 第三章 类与对象 * 1、友元的意义 2、友元函数 3、友元类 第六节 友元 面向对象程序设计 - 第三章 类与对象 1、友元的意义 若需要在类的外部直接访问类的私有数据成员,在C++中,通过定义友元可以实现这一功能,由于其破坏了类的封装,故需慎重使用 C++的友元提供了不同类或对象的成员函数之间、类的成员函数与普通函数之间进行数据共享的机制 非对称性(单向的) 若B是A的友元,若没有特别声明,则A不是B的友元 非传递性 若B是A的友元,C是B的友元,若没有特别声明,则C不是A的友元 * 面向对象程序设计 - 第三章 类与对象 2、友元函数 如果类外的非本类成员函数需要访问类的私有数据成员或保护成员,则需要将该函数声明为类的友元函数。 友元函数的声明格式如下: friend 返回值类型 函数名(参数表); * ●友元函数可以访问类中的私有数据成员,但友元函数不是类的成员函数; ●友元函数可以是一个普通函数,也可以是另外一个类的成员函数; ●友元函数不是类的成员,因而与成员函数存在区别,友元函数不能直接使用数据成员,而必须通过对象操作数据成员 。 使用友元函数时需注意 面向对象程序设计 - 第三章 类与对象 * 面向对象程序设计 - 第三章 类与对象 3、友元类 不仅函数可以声明为一个类的友元。 一个类也可以声明为另一个类的友元 若一个类被声明为另一个类的友元,则该类的所有成员函数都是另一个类的友元 友元类的声明格式: friend class 类名; * 1、类作用域 2、对象的生存期 第七节 类作用域及对象的生存期 面向对象程序设计 - 第三章 类与对象 1、类作用域 C++标识符的作用域有函数原型作用域、块作用域(局部作用域)、函数作用域、类作用域和文件作用域。 类作用域:是指在类中定义的数据成员、成员函数及其他标识符的作用范围仅限定在该类中,即类作用域是指在类的声明中用一对花括号括起来的部分 一个类的成员函数可以不受限制地访问本类的数据成员,而在该类的作用域之外,不能直接访问该类的数据成员和成员函数,即使是公有数据成员,也必须通过本类对象调用 * 面向对象程序设计 - 第三章 类与对象 2、对象的生存期 生存期是一个时间概念 类对象的生存期是指对象从被创建开始到生存期结束为止的时间 类对象在声明时被创建,在释放时被终止 * ●局部对象。局部对象是被定义在一个程序快或函数体内的对象,它的作用域范围小、生存期短。 ●静态对象。静态对象被定义在一个文件中,它的作用域从定义时开始到文件结束时止,它的作用域范围大,生存期也较长。 ●全局对象。全局对象的作用在域整个程序中,它的作用域范围最大、生存期也最长。 ? 类对象的生存期包括: 面向对象程序设计 - 第三章 类与对象 * 1、必要性 2、名空间的定义 3、名空间成员的访问 1、必要性 一般情况下,如果C++程序中出现两个变量、函数名或类名的名字完全相同,就会产生冲突 解决命名冲突的办法有两个 第一种解决方法是重新使用不同的标识符名,但有时为了程序的可读性,必须使用相同的标识名 C++提供了第二种解决命名冲突的方法——名空间 第八节 名空间 面向对象程序设计 - 第三章 类与对象 * 面向对象程序设计 - 第三章 类与对象 2、名空间的定义 名空间的定义由C++关键字namespace引导,其定义格式如下: namespace 名空间标识符名 { 成员的声明; } * ●使用名空间的成员时要用名空间名进行标识,从而有效解决了标识符冲突。 ●名空间成员的访问方式如下: 3、名空间成员的访问 名空间标识符名::成员名 面向对象程序设计 - 第五章 类与对象 * 1、常引用 2、常对象 3、常对象成员 为解决数据共享
您可能关注的文档
最近下载
- 三年级语文上册 【看拼音写词语】看拼音写词语4(附答案)(部编版) .docx VIP
- 烹调工艺学1期末考试试题A卷评分标准.doc VIP
- 科研方法论知到智慧树期末考试答案题库2025年南开大学.docx VIP
- 最新丁立梅经典散文《风会记得一朵花的香》 .pdf VIP
- 电力电子技术(阮新波)课后习题答案解析.pdf VIP
- 三年级语文上册 【看拼音写词语】看拼音写词语3(附答案)(部编版) .docx VIP
- 2023年陇东学院汉语言文学专业《现代汉语》期末试卷B(有答案).docx VIP
- 《烹饪工艺学》期末考试复习题库(附答案).doc VIP
- 民法学总论试题库.pdf VIP
- 【MOOC】模拟电子技术基础-华中科技大学 中国大学慕课MOOC答案.docx VIP
原创力文档


文档评论(0)