【发布时间】:2020-08-07 07:34:51
【问题描述】:
我发现友元函数可以在类声明中定义。由于类声明没有提供它的主体,我对它的含义有点困惑,一般来说它只是class A;。
Friend 函数可以在类中定义(给定一个函数体) 声明。这些函数是内联函数,和成员一样 内联函数它们的行为就好像它们是立即定义的 在看到所有类成员之后但在类范围之前 关闭(类声明的结尾)。友函数是 在类声明中定义在封闭的范围内 类。
来源:https://docs.microsoft.com/en-us/cpp/cpp/friend-cpp?view=vs-2019
【问题讨论】:
-
我的猜测是这只是一个错误,它们的意思是“在一个类定义中”
-
cppreference 似乎说
class A;是一个前向声明,而class A { /* ... */ }也将是一个声明(它将声明类的成员)。 stackoverflow.com/a/1410632 似乎不同意。我以为所有的定义也是声明。
标签: c++ class friend-function function-definition