问题标签 [class-members]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
742 浏览

java - 我可以将班级成员的哈希码用于班级吗?

我有最终字符串作为唯一 ID 的课程。当然我想覆盖equals所以比较只基于ID。那么只返回ID的哈希码是正确的做法吗,如下所示?

0 投票
1 回答
80 浏览

c++ - 包含字符串的类 - 我可以跳过初始化它们吗?如果可以,如何?

快乐的编码员!

我计划今天尝试学习一些 C++,所以我想我可以从以前的课程中学习一个旧的 C 作业,然后用 C++ 做同样的事情。任务是读取音乐文件并从他们的 ID3 标签中检索数据,并根据他们的艺术家、专辑和曲目标题等将它们分类到文件夹中……这并不重要,但你至少知道我要做什么。

所以我玩了一些集合,让我的程序接收一个字符串数组,指定不同的歌曲,它将循环算法。

在下一步中,由于我如何尝试复制旧 C 程序的行为,我被卡住了,该程序是一个包含三个值的结构:

但到目前为止,我一直无法在 C++ 中重新创建这种动态行为,我希望只定义成员但不初始化成员,因为我希望以后能够更改这些数据。从技术上讲,我可以通过在创建标签之前从文件中获取数据的方式来做到这一点,因此给构造函数它们的初始值并完成它。但是我可以按照我想要的方式去做吗?

因为我已经尝试了十亿个指针组合和诸如此类的东西(谷歌加载),所以我刚刚回到上面并决定问你如何实际完成这个。

我的脑子完全糊涂了,但考虑一下上面的伪代码,因为我敢打赌它在任何方面都不正确......

所以我的问题是:如何定义一个类,以便为成员名称和数据获得动态字符串分配?我几乎在考虑使用一些好的旧 char*,但我尝试这样做的目的是学习一些 C++,所以我现在强迫自己经历这个。

0 投票
1 回答
230 浏览

java - 当 OutputStream 作为成员存储时,使用 XmlStreamWriter 写入时似乎不起作用,不能作为成员传递吗?

我正在尝试将一个存储OutputStream为一个类的成员,以便我可以从多个方法写入它。我把这个 jUnit 测试放在一起来证明我遇到的问题。

在生成的文件中,只有第二种方法将任何值推送到文件中。我必须直接传递OutputStream给每个方法吗?为什么testOutputStream()方法不起作用?

我正在使用 jrockit jdk 1.6.0_29,但我尝试在 JDK 8 上运行,并且效果相同。

0 投票
1 回答
66 浏览

class - 在课堂外可见的私人成员

为什么当断点在该类之外时,我可以在“快速监视”窗口中看到我的类的私有成员?

我的断点在 ConsoleApplication.cpp 我的类在 XmlSignature.h 中定义

我可以看到这些私有成员:Transforms_Root_elementxmlDocument

这是我的课:

这是我可以看到的:

在此处输入图像描述

0 投票
1 回答
594 浏览

c++-cli - Are there get and set methods for protected members of a class in C++/CLI?

Are there get and set methods for protected members of a class in C++/CLI like in this example for C#?

0 投票
1 回答
268 浏览

c++ - 非静态成员变量的创建,如 C++ 中的静态单例创建

首先,我真的很喜欢单例的延迟初始化模式。我通过以下方式使用它来获取具有不同值类型的不同类型的数据(示例已简化):

我知道该data变量未连接到该类的任何实例,并且在程序结束之前它一直存在。

但是我现在想要的是,类 A 的每个实例都应该以非静态方式保存变量,并且仍然应该具有调用.getData<bool>()或使用任何其他数据类型的灵活性,而无需在其中指定每种可能的数据类型类定义。

那可能吗?我还没有想出一个想法来实现它。

我想到了一个带有容器的东西,例如:

有了它,可以将代码扩展为:

但这不会编译。

你们中有人知道如何实施吗?

0 投票
1 回答
29 浏览

php - 即使我没有这个变量,当我访问它时,我也没有收到错误

如您所见,我没有名为 test_3 的变量。但我没有收到错误。它运行良好。为什么?这是我得到的输出。

0 投票
3 回答
85 浏览

c# - 我怎样才能不笨拙/乏味地防止尝试向班级成员写入空字符串?

我有一个代表这样的 Sharepoint 列表的类:

我阅读了以前保存到 Sharepoint 列表中的项目,如下所示:

如果分配给类成员的值是空字符串,则此代码崩溃 - IOW,尝试将空字符串分配给这些类成员中的任何一个会导致 ReadFromList() 的 catch 方法充当指向它的 GOTO 语句已达到(就此而言,没有收取 200 美元或任何金额)。

我可以用像这样的笨拙/乏味的代码来防止这种情况:

(等等等等 ad nauseum ad finitum adwords with friends &c)

...但是有一个暗示必须有一个“更好”的方法。谁能具体证实我的直觉?

更新

尝试亚历克斯的代码:

如果值为空,我仍然会得到“对象引用未设置为对象的实例”。

MatteoSP 的代码:

...甚至不编译;我收到两个错误消息:

'DirectPaymentSectionsWebPart.DPSVisualWebPart.DPSVisualWebPartUserControl.Apply(System.Collections.Generic.IDictionary, string, System.Action)' 的最佳重载方法匹配有一些无效参数

-和:

参数 1:无法从 'Microsoft.SharePoint.SPListItem' 转换为 'System.Collections.Generic.IDictionary'

更新 2

我的 kludgy/verbose 代码,我认为至少可以工作:

...也因钝的“对象引用未设置为对象的实例”反对而失败。

是否有必要通过在写入列表时为每个其他可能为空的值写一个“”(空格)来将 Kludginess 提升得更高?

更新 3

我也尝试了Shaw在此处发布的想法,但结果相同(崩溃,“对象引用未设置为对象的实例”)

0 投票
2 回答
1516 浏览

c# - 在 C# 中,如何使用来自不同程序集的公共类成员(方法或变量)

我正在从 Tutorialspoint.com 进行 C# 封装。我读了这个

自 Stackoverflow 的问题。我阅读了答案,并且理解了 teoric 中的访问说明符。现在我想在 Visual Studio 中用这个主题制作控制台应用程序。

上市

类型或成员可以由同一程序集或引用它的另一个程序集中的任何其他代码访问。

私人的

类型或成员只能由同一类或结构中的代码访问。

受保护

类型或成员只能由同一类或结构中的代码或派生类中的代码访问。

内部的

类型或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集中访问。

受保护的内部

同一程序集中的任何代码或另一个程序集中的任何派生类都可以访问该类型或成员。

具有公共访问说明符的变量或方法可以从相同的程序集和不同的程序集访问。但这个车站在内部描述上有所不同。内部类型变量和方法只能访问相同的程序集,但不能访问 C# 中的不同程序集。我想在 C# 中测试这个站。所以我创建了两个项目并在彼此之间调用方法或变量。

我的项目层次结构

上面的代码是我的“PublicEncapsulation.cs”,我应该从其他程序集中调用它的成员。我的其他程序集项目的类是 Program.cs。我想从 Program.cs(其他程序集)连接 PublicEncapsulation.cs 的成员。如何从 c# 中的其他程序集执行此调用操作。

上面的类是 Program.cs。我想在这里调用其他组件 PublicEncapsulation.cs 的成员。

0 投票
1 回答
86 浏览

c++ - 作为唯一类成员的引用为整数提供大小 8

我在编写一个小型 c++ 程序来测试作为类成员的引用时遇到了这种情况。

仅作为类成员引用,程序给出的 ao/p 为 8。通常,引用给出的大小是它们所属的特定数据类型。但是为什么这里是 8(而不是 4)。请帮助我理解它。

输出 -