重载为友元函数的问题

来源:8-7 标准输入输出IO重载

慕侠1246815

2022-04-27

为什么输入输出运算符需要重载为友元函数呢?为什么其他运算符比如 = 不能重载为友元函数呢?

写回答

1回答

quickzhao

2022-04-28

不一样的,输入输出运算符需要一种能够跨任何类型的全局能力,它本身不属于任何class 的方法,但是又能能访问class 的成员变量,所以C++采用友元函数进行管理;而其他运算符是class的一部分,所以需要是成员函数。

0
1
慕侠1246815
非常感谢!
2022-04-28
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程