问题标签 [constructor]

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 投票
10 回答
18852 浏览

java - 为什么还可以使用空白构造函数?

我最近在阅读一些 Java 并且遇到了一些新的东西(成语?):在程序中,具有多个构造函数的类也总是包含一个空白构造函数。例如:

第一个构造函数似乎不是“真正的”构造函数,似乎在每种情况下都会使用其他构造函数中的一个。那么为什么要定义这个构造函数呢?

0 投票
3 回答
1863 浏览

javascript - JavaScript 中原型继承的约定

我看到很多这样的代码:

但是,如果您这样做:

这是错误的。这似乎让我感到困惑,因为 s 的构造函数确实是 Sub。这样做是传统的/更好的吗?

还是真的不重要?

0 投票
5 回答
4455 浏览

php - 使用构造函数的好处?

在我试图了解更多关于 PHP 中的 OOP 的过程中。我已经多次遇到构造函数,根本无法再忽略它。在我的理解中,构造函数在我创建对象的那一刻被调用,这是正确的吗?

但是,如果我可以使用“普通”函数或方法作为它们的调用,我为什么需要创建这个构造函数呢?

干杯,基思

0 投票
6 回答
1248 浏览

c++ - C++ 复制构造函数

我最近写了一段代码

其中 SomeClass::getResult() 看起来像:

现在,使用第一个代码片段中的示例,当我编译并运行时,程序因 ABORT 信号而崩溃。然后我将第一个片段更改为:

效果很好。另外,为了尝试一下,我再次将其更改为:

这也很好用。

现在,我只是想不通为什么第一个例子失败了,而接下来的两个成功了。据我了解,在第一个示例中,复制构造函数用于初始化结果。但是第二个例子不也是这样吗?那么为什么第二个例子成功了呢?第三个例子更有意义——因为没有使用复制 const,我们只是在构造之后赋值。

简而言之,有什么区别:

多谢!

0 投票
3 回答
654 浏览

c++ - 我可以使用模板而不是宏来创建异常类吗?

我经常想定义新的“异常”类,但需要定义一个适当的构造函数,因为构造函数不是继承的。

Typedef 对此不起作用,因为它们只是别名,而不是新类。目前,为了避免重复这个琐碎的样板文件,我使用了一个#define 来完成这项工作。

但我一直想知道是否有更好的方法来实现这一点——可能是模板,或者一些新的 C++0x 特性

0 投票
5 回答
6305 浏览

java - 使用超类的构造函数

Java不允许多重继承,这意味着一个类不能从两个没有共同点的类继承,这意味着它们不在同一继承路径上。但是,如果这些类是该类的直接超类的超类,则一个类可以继承自更多类。但是该类间接地从这些类继承,这意味着它不会从这些上层超类中“看到”任何东西,对吧?在考虑构造函数时我很困惑(在构造函数中使用 super() )。例如,如果我们有以下类:

C 类的构造函数首先使用 super() 调用 B 类的构造函数。发生这种情况时,B 的构造函数本身首先调用 A 的构造函数(使用 super()),但是 C 的构造函数对 A 的构造函数一无所知,对吧?我的意思是,继承仅来自直接超类——继承层次结构中的第一个(最近的)类。这是我的问题——对于 super(),我们仅指直接超类的构造函数,无论继承层次结构中有多少其他类。这不仅适用于构造函数,还适用于任何方法和实例变量。

问候

0 投票
3 回答
4169 浏览

c++ - C ++ ctor问题(linux)

  • 环境:linux,通过g++从几个C++文件创建的用户空间应用程序(结果是一个ELF)

  • 遍历构造函数列表时出现问题(SIGSEGV)

(注意:通过此列表调用的代码是每个类的一种系统初始化, 而不是我编写的构造函数代码)

  • 当我正确理解每个编译单元(从 .cpp 创建的每个 .o)都会在
  • 当我通过程序通过 GDB 时,问题(SIGSEGV)不存在

  • 为了调试这个我正在寻找一种在调用之前添加自己的代码代码的方法

有什么提示吗?

谢谢,

乌韦

0 投票
3 回答
4368 浏览

javascript - 通过原型对象或构造函数设置方法,区别?

你能解释一下在构造函数中设置方法和通过原型对象设置方法的区别吗?以下代码显示了这两种设置方法的方式 -say_hello并且say_bye都可以正常工作:

0 投票
2 回答
369 浏览

c++ - 从具有模板构造函数的非模板类继承 - 如何解决歧义?

假设我们有一个类 MyParent:

还有一个派生类,它使用这个构造函数:

然后我得到一个编译错误,因为有歧义。编译器认为int是类的模板参数,而不是构造函数。

如何指定我希望int作为构造函数的参数?

0 投票
5 回答
7951 浏览

c# - 为什么在 C# 中不继承构造函数?

我猜有一些关于 C# 继承的基本知识我不明白。有人请赐教吗?