C++ 友元函数的声明规则有哪些?
Apr 16, 2024 am 08:57 AM
c++
作用域
友元函数
友元函数声明规则如下:声明必须位于类的外部。可以声明为成员函数或全局函数。可通过指针或引用传递类的对象。
C 友元函数的声明规则
友元函数声明
友元函数是一种特殊的函数,可以访问类的私有成员。要在 C 中声明友元函数,使用 friend
关键字,如下所示:
// 声明 MyClass 类的友元函数 printInfo() friend void printInfo(const MyClass& obj);
登录后复制
声明规则
以下是在 C 中声明友元函数的规则:
- 友元函数的声明必须位于类的外部。
- 友元函数可以声明为成员函数(带作用域解析符)或全局函数(不带作用域解析符)。
- 可以通过指针或引用来传递类的对象。
实战案例
考虑以下 MyClass
类,它有私有成员变量 _data
:
class MyClass { private: int _data; public: // ... };
登录后复制
我们可以定义一个友元函数 printInfo()
来访问 _data
:
// 声明 printInfo() 为 MyClass 的友元函数 friend void printInfo(const MyClass& obj) { std::cout << "Data: " << obj._data << std::endl; }
登录后复制
在主函数中,我们可以实例化 MyClass
对象并调用友元函数来打印私有数据:
int main() { MyClass obj; obj._data = 42; // 访问私有成员(仅在友元函数中允许) printInfo(obj); // 调用友元函数 return 0; }
登录后复制
输出:
Data: 42
登录后复制
以上是C++ 友元函数的声明规则有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章
仓库:如何复兴队友
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
击败分裂小说需要多长时间?
3 周前
By DDD
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前
By 尊渡假赌尊渡假赌尊渡假赌
公众号网页更新缓存难题:如何避免版本更新后旧缓存影响用户体验?
3 周前
By 王林

热门文章标签

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)