【发布时间】:2011-04-20 11:41:44
【问题描述】:
我觉得我对 friend 关键字的理解有点坑。
我有一堂课,presentation。我在代码中将它用于两个变量 present1 和 present2,我将它们与 == 进行比较:
if(present1==present2)
这是我如何定义运算符 ==(在 class presentation 中):
bool operator==(const presentation& p) const;
但是,有人告诉我,使用 friend 并在课堂之外定义它会更好:
friend bool operator==(presentation&, presentation&);
为什么?两者有什么区别?
【问题讨论】:
-
-1 不完整且机器人可以理解
-
对我来说这是完全可以理解的。 operator== 应该是类外的友元函数,还是类内定义的?
-
机器人能理解这个问题吗? >_>
-
我认为不完整是指他对为什么得到-1的解释。
-
@Nadav 我澄清了你的问题,我想——你能检查一下并确保我做对了吗? (此外,如果您选择的答案不能回答您的问题,您需要不接受它。)
标签: c++ operator-overloading friend