Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 反之亦然,课堂上的友谊(无障碍性)在C+中是否正确+;?_C++_Friend Class - Fatal编程技术网

C++ 反之亦然,课堂上的友谊(无障碍性)在C+中是否正确+;?

C++ 反之亦然,课堂上的友谊(无障碍性)在C+中是否正确+;?,c++,friend-class,C++,Friend Class,friend类可以访问包含friend函数的类的成员。是否反之亦然,即该类还可以访问其朋友类的成员是否为真 是否反之亦然,即该类还可以访问其朋友类的成员是否为真 不,他们不能。friend关键字是单向的 要以双向方式提供friend功能,必须将这两个类彼此指定为friend。这实际上需要至少一个候选类的前向声明: class B; // Forward declare class A { friend class B; }; class B { friend class A;

friend类可以访问包含friend函数的类的成员。是否反之亦然,即该类还可以访问其朋友类的成员是否为真

是否反之亦然,即该类还可以访问其朋友类的成员是否为真

不,他们不能。
friend
关键字是单向的


要以双向方式提供
friend
功能,必须将这两个类彼此指定为
friend
。这实际上需要至少一个候选类的前向声明:

class B; // Forward declare
class A {
    friend class B;
};

class B {
    friend class A;
};

不。这会使访问修饰符变得毫无意义,因为你可以让自己成为一个类的朋友。你可以自己写几行代码来检查这个问题。@Gaurav“我想问他们为什么把这个标记为否定的?”极低的研究成果可能会显示出来。@Gaurav:悬停在下一票上button@RyanHaining:类型为
std::any
的变量,当然,对于某些
T
!那么,只有在相互的友谊中才是如此?@Gaurav你说的相互友谊是什么意思?在两边声明为
friend
?是的,像class A{friend class B;};B类{A类;};我很抱歉。我没有这个打算correctly@Gaurav这需要一个转发声明(至少是
B类;
),否则您将以循环结束。您可以详细说明或提供链接吗。我只是个初学者。