只允许“好友”类访问某些私人成员
作者:Archer 提问时间:4/17/2013
假设我有三个 C++ 类 FooA、FooB 和 FooC。 FooA 有一个名为的成员函数,我想在类 FooB 中调用这个函数,但我不希望类 FooC 能够调用它。我能弄清楚的实现这一点的最好方法...
好友 问答列表
作者:Archer 提问时间:4/17/2013
假设我有三个 C++ 类 FooA、FooB 和 FooC。 FooA 有一个名为的成员函数,我想在类 FooB 中调用这个函数,但我不希望类 FooC 能够调用它。我能弄清楚的实现这一点的最好方法...
作者:Diego 提问时间:8/4/2020
我正在处理运算符重载和继承。我目前有类似于以下代码的东西: istream& operator >> (istream& in, derived& d) { /* Some code asking...
作者:Amir Kirsh 提问时间:5/28/2021
继2019年特拉维夫欧洲歌唱大赛捷克歌曲之后 众所周知,在 C++ 中,朋友的朋友不是(自动)朋友。 但是,Clang 在 GCC 和 MSVC 的以下代码上有所不同: class A { pu...
作者:Yaniv G 提问时间:9/3/2022
已关闭。这个问题是基于意见的。它目前不接受答案。 想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。 去年关闭。 改进此问题 创建一个包含以下内容的类是否有意义: 纯虚...
作者:Renu 提问时间:6/6/2023
虽然有很多关于使重载的运算符函数成为朋友或成员的帖子,但我仍然无法决定。我正在实现模板化矩阵类,主要用于算术运算,并且我以两种方式编写了重载运算符函数。让他们成为朋友的标准应该是什么?谢谢...
作者:user13840624 提问时间:7/6/2023
下面是一个涉及两个友元算子的 MRE 示例: 和 :operator<<operator- #include <ostream> template <typename T> class conta...
作者:Fedor 提问时间:8/20/2023
从 C++20 开始,编译器可以为类生成默认的比较运算符,包括作为友元非成员函数,参见 cppreference.com 中的 (2)。 我遇到了在MSVC中工作的代码,该代码为函数中的本地类执行此...
作者:Fedor 提问时间:8/23/2023
C++ 中的局部类可以有友元函数,但这些函数既不能在类 [class.friend] p6 中定义: 当且仅当类是非本地类且函数名称是非限定的时,才能在类的友元声明中定义函数。 不在封闭函数 [d...
作者:Manarbek 提问时间:8/14/2023
class Base { public: class FirstBase { friend class Base; int x = 10; }; class SecondBase : p...