friend 相关问题

在面向对象的编程中,friend指的是可以访问特定类的某些非公共方面的方法或类。

在 gcc 和 msvc 中与特定专业化交友有效,但在 clang 中则不然

我想将单一专业作为朋友,如下所示。我用 C++20 尝试了以下操作,但该程序被 clang 拒绝,并被 GCC 和 MSVC 接受。 模板 圣...

回答 1 投票 0

嵌套类友元函数访问在 gcc 和 clang 中有效,但在 msvc 中无效

我有一个在类中定义了友元函数的程序,它使用 gcc 和 clang 进行编译,但被 msvc 拒绝。 #包括 模板 类外层 {

回答 1 投票 0

为什么我编译友元函数模板时会出现`-Wunsupported-friend`警告?

我想将模板类的成员函数声明为友元。但我收到警告消息,例如警告:友元类声明的依赖嵌套名称说明符“Schedule::”不是

回答 1 投票 0

好友添加2ds/3ds以进行戳X/Y

有人可以加我为 Pokemon X/Y 的好友吗?我需要访问Friendly Safari,但我没有任何拥有 Nintendo 2ds/3ds 和这些口袋妖怪之一的朋友。目前我想得到 froakie 与 pr...

回答 1 投票 0

是否可以在 C++ 中将未命名命名空间中的类添加为友元?

我正在将代码从 Java 移植到 C++,我想复制一些匿名功能。 在文件 A.h 中我有: A级 { 私人的: 整数a; 匿名类; 朋友类AnonClass; }; 在...

回答 2 投票 0

聚合初始化绕过私有类构造函数

我一直认为聚合初始化是为了让程序员免于编写自定义构造函数。然而,这似乎“潜入”了私人的“安全旁路”

回答 2 投票 0

如何定义类模板的友元函数模板以实现运算符重载

我试图在模板类中获取一个友元函数进行编译,但错误消息和警告我不明白。我已经对这个问题进行了演示。我收到的错误是: ...

回答 2 投票 0

gcc 和 clang 接受友元函数访问友元类的私有成员是错误的吗?

在类模板 A 中,A 的另一个实例已成为好友。具体来说,A 和 A 彼此成为朋友(见下文)。这不应该意味着 A s...

回答 1 投票 0

重载好友运算符<< for class template

超载<< works if I make it into an inline function. But how do I make it work in my case? template T my_max(T a, T b) { 如果(a > b)返回a; 否则返回...

回答 5 投票 0

可以为本地类定义友元比较运算符吗?

自 C++20 起,编译器可以为类生成默认比较运算符,包括作为友元非成员函数,请参阅 cppreference.com 中的 (2)。 我遇到了在 MSVC 中工作的代码,那是……

回答 1 投票 0

为什么派生类可以访问基类的私有字段?

类基础{ 民众: 类 FirstBase { 朋友班基地; 整数x = 10; }; 类 SecondBase :公共 FirstBase { 民众: SecondBase() : FirstBase() {} void t() { std::cout ...

回答 1 投票 0

带有枚举类参数的静态成员变量的友元函数

我在命名空间 N 中有 2 个类,A 类和 B 类。 类 A 具有类 B 的容器。类 B 具有 struct S 作为私有静态成员(每个对象 B 的设置)。原因是私人的...

回答 1 投票 0

C++ 中隐藏的朋友概念

我仍然是 C++ 的初学者,正在尝试了解有关该语言的更多信息。我最近读到了 ADL(参数相关查找)的概念和隐藏的朋友习语(https://www.modernnescpp.com/index...

回答 2 投票 0

需要友元类/友元成员函数的声明和定义之间相互依赖的例子(来自C++ Primer)

我是 C++ 的新手,目前正在阅读 C++ Primer,在第 7 章(讨论最基本的类特性)中,它谈到了当我们想要制作时“仔细构建”的重要性

回答 0 投票 0

声明模板类的模板友元函数

我有一个类模板 Obj 和一个函数模板 make_obj。 Obj 定义了一个私有的单一构造函数,它引用了要绑定到的模板化类型。 模板 c...

回答 2 投票 0

命名空间内的类和该类问题的全局获取和设置

我无法访问在类命名空间::类中声明的私有成员 你知道如何实现我在网上搜索但找不到任何解决我问题的方法吗? #包括<

回答 1 投票 0

为什么在使用=运算符时显示垃圾值[关闭]

在这里输入图片描述 为什么它赋予垃圾价值?

回答 0 投票 0

为什么我的函数定义与我在 C++ 中的函数声明不兼容?

我有一个类叫做Matrix3x3,它定义在LsMath.h中,然后我在LsMath.cpp中定义它。 但是,Visual Studio 告诉我我的函数与声明不兼容。 在 LsMath.h...

回答 1 投票 0

继承如何与友元类一起工作?

我知道这个主题有很多答案,但我不明白为什么我的代码能正常工作: 类打印机; 结构基础{ 虚空 foo1() = 0; 虚空 foo2() = 0; }; Derived1 类:...

回答 2 投票 0

“朋友”声明会影响基类成员的可访问性吗?

我对朋友声明的有效性感到困惑。 在第一个示例中,Base 中的友元声明导致我在 main() 函数中的 d.j 和 d.k 上没有得到错误。 然而,在

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.