C++友元函数入门与缺省参数详解
需积分: 10 190 浏览量
更新于2024-08-19
收藏 2.77MB PPT 举报
友元函数是C++编程中的一个重要概念,它允许类外部的普通函数(非成员函数)访问类的私有(private)和保护(protected)成员,突破了常规访问控制的限制。在C++中,当我们希望在类外部直接操作类的内部细节时,友元函数就显得非常有用。它们通常用于实现特定的设计模式或者简化某些复杂的功能。
例如,我们来看两个示例代码片段:
1. 定义了一个名为`fac`的函数,带有缺省参数`int n=2`,这个函数计算阶乘。如果调用时不提供参数,它将使用缺省值2。另一个示例是`area`函数,它可以计算矩形的面积,同样提供了两个可选参数,若只传入一个参数,它会假设第二个参数为2。这些函数的使用展示了如何利用缺省参数方便地处理常见场景。
在使用具有缺省参数的函数时,需要注意以下规则:
- 缺省参数不能出现在函数参数列表的开头,这是编译错误。
- 函数原型声明时,可以省略参数名称来指定默认值。
- 只能在原型声明中定义一次缺省值,函数定义时不能再有重复的缺省值。
函数重载是C++中的另一个关键特性,它指的是多个同名但参数列表不同的函数。例如,`fun`函数可以被重载为接受两个整数相加或单个整数求平方。编译器会根据实参的类型和数量来决定调用哪个函数。然而,仅有返回值不同或类型不同的函数不能作为重载,因为这会导致歧义。
总结来说,友元函数和函数重载都是C++中增强代码灵活性和可扩展性的工具。友元函数打破了访问控制的边界,使得类的私有数据可以直接访问,而函数重载则允许程序员为相似的功能提供多种调用方式,提升代码的可读性和适应性。理解和熟练掌握这两种特性对于编写高效且易于维护的C++程序至关重要。
2011-05-14 上传
2008-08-30 上传
343 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-05-09 上传
2013-06-16 上传
韩大人的指尖记录
- 粉丝: 32
- 资源: 2万+
最新资源
- cryptoCreeper
- 华为云管学习云ap上云资料.zip
- projecteuler
- Capacitacion-mentores:数字房屋的能力
- Estudo-de-MLG-para-dados-de-dengue:对有登革热通知感兴趣的ES市镇的2013年数据建模
- Support:用于反馈支持的脚本(能力建设事件,天气状况,社区等)
- 安卓毕业设计短信拦截源码-library:个人代码库
- pynso:适用于Cisco Network Services Orchestrator(NSO)的Python客户端库
- app_ranking_mounstros
- 线性表的链式存储(链表)API及实现
- data146
- x-rebirth-credit-export
- otus-highload-architect-2021-03-VSkurikhin:高负荷建筑师
- 行业分类-设备装置-可重构路由交换平台构件的检索方法.zip
- Fanorona-Game-AI:使用 Alpha-Beta-Search 和启发式在人类和 AI 之间的棋盘游戏 Fanorona 的 Python GUI 实现
- Bergsoft_NextSuite_VCL_v6.7_Full_Source