问题标签 [data-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 投票
1 回答
114 浏览

c++ - 为什么不能使用 '( )' 为类的非静态数据成员赋予默认值?

我只是在浏览 C++ 中的基本 OOP 概念,并遇到了以下问题:

编译时出现以下错误line1(在 gcc 和 MSVC++ 中都试过),

我知道如何为 a 分配默认值non-static member(可以从 C++11 开始以不同的方式完成),但我不明白为什么只有这种默认值初始化是不可能的,因为做同样的初始化(对于正常变量)其他任何地方都是有效的。

这种限制的原因可能是什么?

编辑:

从提供的链接和答案来看,这是因为“在某些情况下它可能读作函数声明。由于这种歧义,它是不允许的。”

但考虑以下情况:

这也是一个类似的情况,int object(B)可以理解为一个以函数objectB object参数并带有int返回类型的函数。我试过了gccMSVC++并且对象被视为int variable. 为什么在这种情况下不受限制?

0 投票
2 回答
129 浏览

c++ - What happens to uninitialized class members in c++?

What happens to uninitialized class members in c++? If I have to do this, what should I take care of?

0 投票
1 回答
886 浏览

c# - 如何使用 Visual Studio 2012 C# 中的数据/值成员从组合框执行搜索操作

我在这种编程方面处于初学者水平,所以我相信你们中的某些人会知道如何解决我遇到的这个问题。

我在 Visual Studio 中有一个与 Oracle Database 11g Express 连接的小项目,我想对数据库中的特定表执行搜索操作,并在我的 Visual Studio 项目中以这种形式显示它。因此,我有两个组合框,其中填充了显示成员而不是数据成员。数据成员通常是表中的外键,例如 ID 等,在这些组合框中显示的显示成员通常是姓名和姓氏,当然与我之前提到的那些 ID 相关联。
所以我想选择这些显示成员并在它们之上搜索特定 at 的所有数据。
这是我表单中选择按钮的查询:

我有这张表,其中ime_pacijenta是名字,prezime_pacijenta是姓氏,PRETRAGA是这个搜索按钮:

图片

当我从组合框中选择一项时,它应该只写出那一条记录。相反,它向我展示了另一张与这张唱片无关的唱片。当我从组合框中选择任何其他值时也会发生这种情况:

图片

就是这样,我感谢任何回复!

0 投票
2 回答
206 浏览

c++ - 访问其成员之一时是否存在指向基类子对象的隐式指针?

如果我们有这个代码:

有人告诉我, 的成员Base将被继承,Derived而这些继承的成员Derived实际上是在一个基类子对象中Base(但这个子对象是未命名的);的子对象Base在 Derived 中创建,其中包含继承的成员。因此,当访问类中的成员时,除非您显式执行某些操作,否则会隐式调用 this 指针,但是在访问继承对象时是否还会调用隐式指针(或任何东西)?就像,如果我们在byanint的实例中访问,这实际上会是什么样子或者它是如何工作的?DerivedderivedInstance->anintderivedInstance->this->somethingToBaseObjectThatHoldsTheMembers->anint

0 投票
0 回答
45 浏览

java - 如何通过泛型对象访问类的字段变量?

我一直在测试 Java 中的泛型编程。

这是我的代码片段:

这是在类型参数中扩展的接口Style

此接口由另一个名为 的类实现Ford,其中getMake()方法的实现如下:

在我的驱动程序类Test中,我正在测试所有这些东西,如下所示:

现在,在我的理解中,应该能够通过使用接口来访问通用对象的字段变量和方法,在本例中就是我的Style接口。并且编译器在 IDE 中对此没有任何问题。该程序应该正在访问该getMake()方法并打印出:

2015 GRAY FORD FUSION

但是,控制台显示:

Exception in thread "main" java.lang.NullPointerException at Vehicle.<init>(Vehicle.java:32) at Test.main(Driver.java:16)

它指向我拥有的那条线this.brand = make.getMake();

那么这里到底发生了什么?我究竟做错了什么?

编辑:这个被标记为重复的问题并没有解决我的特殊情况。虽然这里的错误是 a NullPointerException,但它与那个旧问题有很大不同。

这是一个与我的问题相同的问题。如果该问题的解决方案是有效的,那么我应该能够完成我一直在尝试做的事情。

0 投票
2 回答
96 浏览

c++ - 我应该如何将对象传递给类以检查冲突?

我正在使用 SFML 库在 C++ 中制作一个 Breakout 游戏,我有一个“桨”类和一个“球”类,它们都在“游戏”类中更新和渲染,它使用来自“窗口”类。

我的问题是,为了确定 Ball 对象是否与 Paddle 对象发生碰撞,我显然需要访问 Paddle 对象的 x/y 位置数据成员。我正在为每个对象使用更新(或刻度)函数,我宁愿不只是将对 Paddle 对象的引用传递给 Ball 的更新函数。

实现我想要的功能的普遍接受的方法是什么?

这是我的球头:

这是我的游戏更新功能:

0 投票
3 回答
233 浏览

c++ - 映射类的数据成员

我正在尝试设计一种数据结构,它可以通过存储一些关于其成员的额外数据来增强/补充现有的数据结构。

假设我们有:

我们希望有一个与之关联的 GUI 组件,因此数据成员具有相应的 GUI 元素。我想将成员映射到各自的组件。就像是

我没有任何限制,但我希望结果可以轻松转换为原始类型。

我知道,我可以引入一个模板,例如GuiElementMember保存原始数据和GuiElement指针,并将类成员交换为装饰的对应对象,所以它看起来像:

但我想避免它,因为它完全改变了对数据成员的访问模式并使其膨胀。即它的结果是数据成员与指针交错,不容易去除。

理想情况下,可以写成GuiA的派生类A,或者写成 的组合A和附加的东西。

我正在考虑类可以生成地图的模板之类的东西。我可以为每个组件编写一个自定义类,但我认为没有一种简单的方法来映射数据成员,所以在客户端它看起来像getGuiMember(GuiA::x). 指向数据成员的指针包含成员原始类型。我认为不可能有像“类型擦除的成员指针”这样可以用作MemberHandle类型的东西。

我想到的唯一一件事是enum每个组件的自定义,它将枚举数据成员并用作地图(或本例中的向量)的键类型,但这似乎是大量的信息复制和维护。

是否有一些允许映射数据成员的技术?

只要接口简单,我并不真正关心实现的复杂性。我欢迎提升或模板魔术。我也不关心额外数据访问的性能,它是额外的东西,但普通类的使用不应该受到影响,因此引入无法优化的间接性不太受欢迎。

编辑:请不要依赖 GUI 的东西,这是一个例子。我只关心为每个成员存储一些额外的数据,而不是与成员一起组成。

0 投票
1 回答
1738 浏览

c++11 - 从 void 指针访问结构中的变量

我想知道是否有一种方法可以访问 astruct所指向的数据成员void*?我试图解释的内容有望在我的示例代码中更加明显:

我已经运行了这个精确的代码转换p*(int*)p并且打印得很好,但是,使用上面的精确代码会导致编译错误。还没有找到一个完全完成这个任务的例子。是否可以在转换后访问它的数据成员struct?为什么或者为什么不?如果是这样,如何?