使功能成为会员与朋友的标准是什么?

时间:2015-05-05 14:18:30

标签: c++ member friend

当我可以决定是否应该将某个特定的函数/运算符声明为类的某个函数/运算符或类的成员函数/运算符时。?

1 个答案:

答案 0 :(得分:1)

每当你需要访问"胆量"你的班级(即私人成员)的一个与你的班级没有真正关系的职能。

就是一个典型的例子
friend std::ostream& operator<<(std::ostream& os, const Foo& foo)
你重载的

,你只需通过iostream显示你的对象,比如

std::cout << my_object;

在这种情况下,假设您需要授予对类私有成员的访问权限,该函数应为friend。它甚至不能成为成员函数,因为在这种情况下你应该像

一样调用它
my_object << (std::cout); 

看起来很奇怪。