c – 模板类友谊

前端之家收集整理的这篇文章主要介绍了c – 模板类友谊前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近遇到了一段代码,其中一个类是自己的朋友.正如我在不同论坛上所读到的,一个班级已经是他自己的朋友.所以我想知道是否有一个特定的原因,为什么人们想要明确地让自己成为一个阶级朋友.

另一个问题是,让一个班级成为自己的朋友的原因是什么?

也许有经验的人可以澄清这个话题.

这是代码示例,用于说明我的问题:

template < typename T>
class Foo: public T
{
protected:
   template < typename U>
   friend class Foo;
}

解决方法

确实让一个类成为自己的朋友是没有意义的,除非它是一个模板类.例如,以下代码是有意义的:
template <class T>
class A
{
    template<class U>
    friend class A;
}

STL示例是std :: _ Ptr_base,它是std :: shared_ptr和std :: weak_ptr的基类.

猜你在找的C&C++相关文章