gpt4 book ai didi

c++ - 如何查看类(class)友情?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:38:46 25 4
gpt4 key购买 nike

标准库提供了许多有用的“is”类型特征来说明两个类的关系,例如is_base_ofis_convertibleis_same等等。有什么方法可以实现类型特征 is_friend 来判断类 A 是否是类 B 的友元?

示例代码:

class A {};
class B { friend class A; };
class C { friend class B; };

is_friend<A, B>; // true
is_friend<B, A>; // false
is_friend<B, C>; // true
is_friend<A, C>; // false

最佳答案

不,这不可能。在您的示例中,B 中的任何内容都没有任何访问限制,因此 A 的友元无效。由于友元既不能继承也不能传递,因此无法使用从相关类继承并添加私有(private)成员等技巧。

关于c++ - 如何查看类(class)友情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56228141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com