我最近遇到了一段C++代码,其中一个类被赋予了自己的友元。根据我在不同论坛上的阅读,一个类已经是它自己的友元了。因此,我想知道为什么有人会想要明确地将一个类设置为自己的友元。
另一个问题是,为什么要让一个类成为其自身的友元?
也许有经验丰富的人可以澄清这个问题。
以下是代码示例,以说明我的问题:
另一个问题是,为什么要让一个类成为其自身的友元?
也许有经验丰富的人可以澄清这个问题。
以下是代码示例,以说明我的问题:
template < typename T>
class Foo: public T
{
protected:
template < typename U>
friend class Foo;
}
Foo
的模板实例化都将成为任何其他实例的朋友。关键细节是类模板不是类型。 - juanchopanzaprivate
成员混淆,虽然确实建立友元关系可以授予此类访问权限,但这并不意味着一个类可以成为自己的友元。 - John Dibling