问题标签 [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.
c++ - 无法从类中访问全局函数
我创建了一个全局函数 CallPrice(args)。我有一个类 EuropeanOption,还有一个名为 CallPrice 的类函数,它应该使用 EuropeanOption 类中的变量调用全局函数,并返回 CallPrice。我收到一个错误,“全局范围没有“CallPrice”。
我认为这是一个普遍的问题。我搜索了其他线程,其中说添加 :: 应该可以解决问题,但它不适用于我。你能找出错误的原因吗?我是否需要将此作为朋友功能或其他一些解决方法?
谢谢!
标题:
来源:
arrays - Eigen 的 Map<> 作为类成员
我正在尝试拥有一个包含数组但通过特征与它们具有接口的类。
这不起作用:
我认为问题是因为 Map<> 没有默认构造函数。http://eigen.tuxfamily.org/dox/TutorialMapClass.html#TutorialMapPlacementNew
c++ - 如何在构造函数中初始化 C++ 对象成员变量?
我有一个有几个对象作为成员变量的类。我不希望在声明时调用这些成员的构造函数,所以我试图明确地挂在指向对象的指针上。我不知道我在做什么。
我想也许我可以执行以下操作,在初始化对象成员变量时立即调用构造函数:
但我希望MyClass
构造函数调用AnotherClass
构造函数。这是我的代码的样子:
文件BigMommaClass.h
文件BigMommaClass.cpp
这是我尝试编译时遇到的错误:
我是否使用了正确的方法,但语法错误?还是我应该从不同的方向来?
c++ - 按名称设置类成员值
我有一个派生的类,QObject
它有一些成员。param value
我用语法加载配置文件。每个param
都是该类的成员,我想将其值设置为value
.
如果真的有,怎么可能?非常感谢!
PS 我本可以制作一个关联数组,但这不是我喜欢的方式。
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 中受到限制的原因是什么?我们只是简单地接受“复杂的链接器规则”还是进行了其他更改以使其更易于实现?
c# - 使用 Linq 、 Reflection 、 lambda 表达式系统地将 SqlParameters 添加到 SqlParameterCollection
对于初学者来说,我在这里是因为我被困在我需要访问sqlParameters
在这个类的主体中声明的地方,
这些旨在在构造函数分配后立即添加到集合中
但是当我(希望在你的帮助下......)解决这个问题时,
我想学习一种我会坚持并且可能会使用的技术,不仅可以用于当前课程中的此代码,因为我将能够重用该方法,它应该适用于大多数collection
. 这意味着我可以系统地添加 - 成员/变量或不同类型的数据,而不是隐式/手动放置每个数据,就像我也可以处理与本示例中不在同一范围内的其他类成员/字段或属性一样,它使它更实用。
我的问题是
你将如何实现这一点,使用 foreach 有点过时了,因为我们可以在 Linq 上使用 lambda 表达式?
是否有其他更便宜的方式来达到children
不使用反射的给定类?
我将非常感谢一个实施示例
python - 如何从 Python 中的类内部访问类方法
我想在 Python 中创建一个管理所有静态成员的类。这些成员应该在类的定义期间已经被初始化。由于稍后需要重新初始化静态成员,我会将这段代码放入一个类方法中。
我的问题:如何从课堂内部调用这个类方法?
任何帮助表示赞赏!
在此先感谢,沃尔克
c++ - Google Test (gtest):ASSERT_PREDx 和类成员函数
好的,所以我正在使用 gtest 进行单元测试,并且我有一些我想做的事情:
在测试功能中,我想使用:
这似乎不起作用,因为它ASSERT_PREDx
似乎是为全局范围功能设计的。我收到一条消息
我想知道是否有一个很好的解决方法?我总是可以使用带有全局变量的函数,但我不确定是否有一种单行方式。
objective-c - 这是在 Objective-C 中创建类级属性(即点语法)的有效方法吗?
Objective-C 的 @property 声明不允许您指定类级别的属性。例如,你不能这样做......
...但我记得读过属性实际上只是获取/设置消息的语法糖,所以当您键入 something.foo 时,您实际上只是发送 [something foo] 或 [something setFoo:newFooVal] 消息。
于是我有了一个想法,就写了这个普通的班级成员……
并在“m”文件中添加了这个(再次,完全正常)......
...果然,要获得任何类名的字符串表示,我现在可以这样做...
瞧!一流的属性!甚至没有编译器警告!
实际上,唯一缺少的是代码完成/智能感知中的建议。但是如果你这样输入它当然会......
所以当然,问题是......我基本上只是“发现”(即它一直在那里但它没有像这样使用)一个类级别的属性吗?
(好吧,好的,属性语法,但这就是我为了链接而不是嵌套大量括号而追求的。)
c++ - 如何初始化一个类的引用成员变量?
考虑以下代码 C++:
使用 gcc 编译器时显示以下错误
为什么编译器不直接调用构造函数?