面向对象程序设计:友元函数与私有成员访问权限【谭浩强第十二章PPT学习教案总结】
版权申诉
88 浏览量
更新于2024-02-26
收藏 283KB PPTX 举报
C++面向对象程序设计是谭浩强所著的一本经典教材,其中第十二章讲解了友元函数的概念和用法。友元函数是一种定义在类外部的普通函数,能够访问类中的私有成员和保护成员,不受类的访问权限限制。这一特性使得友元函数在某些情况下非常有用,但需要在类体内进行说明,并在前面加上关键字"friend"。
在友元函数的声明中,需要指定函数的返回类型和参数,以及在函数名前加上关键字"friend"。示例代码如下:
```cpp
class A {
private:
int a;
friend void func(A obj); // 声明友元函数func
};
```
在上面的示例中,函数func被声明为类A的友元函数,因此可以访问类A中的私有成员a。但需要注意的是,友元函数并不属于类A的成员函数,它是一个独立于类的普通函数。
友元函数的定义通常在类的外部进行,但在定义时不需要再加上"friend"关键字。示例代码如下:
```cpp
void func(A obj) {
cout << "The value of private member a is: " << obj.a << endl;
}
```
在上面的示例中,函数func被定义为输出类A的私有成员a的数值。由于它是A类的友元函数,可以直接访问类A中的私有成员a。
友元函数的存在破坏了类的封装性,因此在使用时需要慎重考虑。过度使用友元函数可能会导致程序的可维护性降低,因此应该在确实需要访问类中私有成员的情况下才使用友元函数。另外,友元函数也可以是其他类的成员函数,而不仅限于普通函数。
总的来说,友元函数是面向对象程序设计中的一种特殊机制,通过它可以实现对类中私有成员的访问,但需要慎重使用以避免破坏类的封装性。在实际编程中,需要根据具体情况决定是否使用友元函数,并在使用时遵循相关的规范和最佳实践。
2021-10-10 上传
2021-10-02 上传
2021-10-02 上传
2021-10-06 上传
2021-10-10 上传
2021-10-02 上传
woshifafuge
- 粉丝: 7
- 资源: 58万+
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案