friend 相关问题

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

是否可以在 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

用PHP模拟友元类

我有一个 Foo 类,其中包含许多公共和私有方法。其中一个方法变得相当大,我想将它分叉到一个专门用于该目的的单独类中。

回答 3 投票 0

朋友、私有函数、模板别名和decltype......clang拒绝这种情况是否正确?

在下面的代码中(godbolt链接)。#include struct Friend { class Inner { friend struct Friend; int function() { return 0; }. }; using DirectResult = ...

回答 1 投票 5

带有模板参数enable_if的C++朋友函数。

我正在为一个结构的友函数而苦恼,这个结构的模板参数为enable_if。/ foo.h #ifndef FOO_H #define FOO_H #include template< typename T, ...

回答 1 投票 0

为什么我的编译器坚持 operator<<有3个参数,而它只有2个?

这看起来很简单,而且我以前也重载过运算符,但现在我得到了错误信息 error: overloaded 'operator<

回答 1 投票 0

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