当友元函数肯定比成员函数更好时,任何人都可以给我一个条件吗?或者只是我们可能使用友元函数而不是成员函数的一些原因。非常感谢。
最佳答案
一种情况(可能是典型情况)是当您尝试重载 <<
时运算符来打印您的类(class)成员。您根本无法将其重载为 member function
因为第一个参数必须是 ostream
的对象。您必须使用friend
功能。
根据 Scott Myers 的《Effective C++ Item23》:
Prefer non-member non-friend functions to member functions. Doing so increases encapsulation, packaging flexibility, and functional extensibility.
关于c++ - 什么时候必须使用友元函数而不是成员函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16756034/