问题标签 [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 投票
3 回答
3369 浏览

c++ - 无法从类中访问全局函数

我创建了一个全局函数 CallPrice(args)。我有一个类 EuropeanOption,还有一个名为 CallPrice 的类函数,它应该使用 EuropeanOption 类中的变量调用全局函数,并返回 CallPrice。我收到一个错误,“全局范围没有“CallPrice”。

我认为这是一个普遍的问题。我搜索了其他线程,其中说添加 :: 应该可以解决问题,但它不适用于我。你能找出错误的原因吗?我是否需要将此作为朋友功能或其他一些解决方法?

谢谢!

标题:

来源:

0 投票
1 回答
612 浏览

arrays - Eigen 的 Map<> 作为类成员

我正在尝试拥有一个包含数组但通过特征与它们具有接口的类。

这不起作用:

我认为问题是因为 Map<> 没有默认构造函数。http://eigen.tuxfamily.org/dox/TutorialMapClass.html#TutorialMapPlacementNew

0 投票
5 回答
208705 浏览

c++ - 如何在构造函数中初始化 C++ 对象成员变量?

我有一个有几个对象作为成员变量的类。我不希望在声明时调用这些成员的构造函数,所以我试图明确地挂在指向对象的指针上。我不知道我在做什么。

我想也许我可以执行以下操作,在初始化对象成员变量时立即调用构造函数:

但我希望MyClass构造函数调用AnotherClass构造函数。这是我的代码的样子:

文件BigMommaClass.h

文件BigMommaClass.cpp

这是我尝试编译时遇到的错误:

我是否使用了正确的方法,但语法错误?还是我应该从不同的方向来?

0 投票
2 回答
144 浏览

c++ - 按名称设置类成员值

我有一个派生的类,QObject它有一些成员。param value我用语法加载配置文件。每个param都是该类的成员,我想将其值设置为value.

如果真的有,怎么可能?非常感谢!

PS 我本可以制作一个关联数组,但这不是我喜欢的方式。

0 投票
3 回答
101610 浏览

c++ - C++11 允许对非静态和非常量成员进行类内初始化。发生了什么变化?

在 C++11 之前,我们只能对整型或枚举类型的静态 const 成员进行类内初始化。Stroustrup 在他的 C++ FAQ 中讨论了这一点,并给出了以下示例:

以及以下推理:

那么为什么会存在这些不方便的限制呢?一个类通常在头文件中声明,并且头文件通常包含在许多翻译单元中。但是,为了避免复杂的链接器规则,C++ 要求每个对象都有唯一的定义。如果 C++ 允许在类内定义需要作为对象存储在内存中的实体,则该规则将被打破。

但是,C++11 放宽了这些限制,允许对非静态成员进行类内初始化(第 12.6.2/8 节):

在非委托构造函数中,如果给定的非静态数据成员或基类不是由mem-initializer-id指定的(包括由于构造函数没有ctor-initializer而没有mem-initializer-list的情况)并且实体不是抽象类(10.4)的虚拟基类,则

  • 如果实体是具有大括号或相等初始化器的非静态数据成员,则实体按照 8.5 中的规定进行初始化;
  • 否则,如果实体是变体成员(9.5),则不执行初始化;
  • 否则,实体被默认初始化(8.5)。

9.4.2 节还允许对非常量静态成员进行类内初始化,如果它们用说明constexpr符标记的话。

那么我们在 C++03 中受到限制的原因是什么?我们只是简单地接受“复杂的链接器规则”还是进行了其他更改以使其更易于实现?

0 投票
1 回答
1132 浏览

c# - 使用 Linq 、 Reflection 、 lambda 表达式系统地将 SqlParameters 添加到 SqlParameterCollection

对于初学者来说,我在这里是因为我被困在我需要访问sqlParameters在这个类的主体中声明的地方,

这些旨在在构造函数分配后立即添加到集合中

但是当我(希望在你的帮助下......)解决这个问题时,

我想学习一种我会坚持并且可能会使用的技术,不仅可以用于当前课程中的此代码,因为我将能够重用该方法,它应该适用于大多数collection. 这意味着我可以系统地添加 - 成员/变量或不同类型的数据,而不是隐式/手动放置每个数据,就像我也可以处理与本示例中不在同一范围内的其他类成员/字段或属性一样,它使它更实用。

我的问题是

你将如何实现这一点,使用 foreach 有点过时了,因为我们可以在 Linq 上使用 lambda 表达式?

是否有其他更便宜的方式来达到children不使用反射的给定类?

我将非常感谢一个实施示例

0 投票
7 回答
38757 浏览

python - 如何从 Python 中的类内部访问类方法

我想在 Python 中创建一个管理所有静态成员的类。这些成员应该在类的定义期间已经被初始化。由于稍后需要重新初始化静态成员,我会将这段代码放入一个类方法中。

我的问题:如何从课堂内部调用这个类方法?

任何帮助表示赞赏!

在此先感谢,沃尔克

0 投票
1 回答
998 浏览

c++ - Google Test (gtest):ASSERT_PREDx 和类成员函数

好的,所以我正在使用 gtest 进行单元测试,并且我有一些我想做的事情:

在测试功能中,我想使用:

这似乎不起作用,因为它ASSERT_PREDx似乎是为全局范围功能设计的。我收到一条消息

我想知道是否有一个很好的解决方法?我总是可以使用带有全局变量的函数,但我不确定是否有一种单行方式。

0 投票
1 回答
231 浏览

objective-c - 这是在 Objective-C 中创建类级属性(即点语法)的有效方法吗?

可能重复:
如何在 Objective-C 中声明类级属性?
Objective-C 2.0 点表示法 - 类方法?

Objective-C 的 @property 声明不允许您指定类级别的属性。例如,你不能这样做......

...但我记得读过属性实际上只是获取/设置消息的语法糖,所以当您键入 something.foo 时,您实际上只是发送 [something foo] 或 [something setFoo:newFooVal] 消息。

于是我有了一个想法,就写了这个普通的班级成员……

并在“m”文件中添加了这个(再次,完全正常)......

...果然,要获得任何类名的字符串表示,我现在可以这样做...

瞧!一流的属性!甚至没有编译器警告!

实际上,唯一缺少的是代码完成/智能感知中的建议。但是如果你这样输入它当然会......

所以当然,问题是......我基本上只是“发现”(即它一直在那里但它没有像这样使用)一个类级别的属性吗?

(好吧,好的,属性语法,但这就是我为了链接而不是嵌套大量括号而追求的。)

0 投票
2 回答
11225 浏览

c++ - 如何初始化一个类的引用成员变量?

考虑以下代码 C++:

使用 gcc 编译器时显示以下错误

为什么编译器不直接调用构造函数?