0

在一个类中,我们有这个:

friend Circle copy(const Circle &);

我知道通常通过引用传递一些东西,你在变量名之前使用 &,但在这种情况下,没有变量名......这到底是什么?

4

3 回答 3

2

那是友元函数的声明。一般来说,当你声明一个函数时,你不需要在它的参数列表中命名变量。大多数人通常都会给它们命名,但有时很明显,它们被省略了。它不会改变任何东西——声明中变量的名称只是文档——重要的是定义中的名称(并且在法律上可以与声明中的名称不同)。

至于 C++ 中的“朋友”是什么意思,我让你上网查一下。

于 2013-04-14T12:16:41.150 回答
0

这是一个函数声明;你不需要那些参数名称,只需要它的定义。在其他地方,会有类似的东西

friend copy(const Circle& other) {
  // method implementation
}
于 2013-04-14T12:16:20.100 回答
0

在函数声明中不需要提及参数名称。

friend Circle copy(const Circle &);

在函数定义中,参数名称是必需的

friend Circle copy(const Circle &rhs)
{
.....

}
于 2013-04-14T12:20:36.147 回答