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

c++ - 继承构造函数

为什么这段代码:

导致这些错误:

B不应该继承A的构造函数吗?

(这是使用 gcc)

0 投票
5 回答
1072 浏览

c++ - 防止创建成员函数都是静态的类

我的 ClassA 类中的所有成员变量和成员函数都是静态的。

如果用户尝试(错误地)创建该类的对象,他会收到警告:“ClassA,从未引用局部变量”,因为所有函数都是静态的,因此永远不会引用该对象。因此,我想阻止用户尝试创建此类的对象。

创建一个私有默认(无变量)构造函数就足够了吗?或者我是否还必须创建私有复制构造函数和私有赋值运算符(以防止使用默认构造函数)?如果我也必须创建它们,也许只创建一些虚拟的纯虚函数会更好,这会阻止用户创建对象?

谢谢

0 投票
3 回答
34309 浏览

c++ - 为什么 const 成员必须在构造函数初始化器中而不是在其主体中初始化?

为什么声明为的类成员必须const在构造函数初始化器列表中而不是在构造函数体中进行初始化?

两者有什么区别?

0 投票
15 回答
62317 浏览

c# - 对构造函数进行单元测试重要吗?

我应该对构造函数进行单元测试吗?假设我有一个这样的构造函数:

我需要为此构造函数编写单元测试吗?我没有任何包装变量的吸气剂,所以我不需要测试它。

0 投票
4 回答
5647 浏览

delphi - 我需要在派生类的构造函数声明之后放置重载或覆盖词吗?

我有一个类层次结构,这个:

如您所见,派生类和基类构造函数都具有相同的参数列表。我从派生的一个显式调用基类构造函数:

Delphi中是否需要显式调用基类构造函数?可能我需要超载或覆盖以清除我打算做什么?我知道如何在 C++ 中做到这一点——只有当你想向它传递一些参数时,你才需要显式调用基类构造函数——但我在 Delphi 编程方面没有太多经验。

0 投票
10 回答
124562 浏览

java - 访问匿名类的构造函数

假设我有一个具体的 Class1 类,我正在用它创建一个匿名类。

现在有什么办法可以重载这个匿名类的构造函数。如下图所示

用 xxxxxxxx 处的东西来命名构造函数?

0 投票
5 回答
3557 浏览

c# - 为什么 c# 编译器在使用带有 new() 约束的泛型类型调用 new 时会发出 Activator.CreateInstance?

当您有如下代码时:

C# 编译器坚持发出对 Activator.CreateInstance 的调用,这比本机构造函数慢得多。

我有以下解决方法:

但对我来说,为什么需要这种解决方法是没有意义的。

0 投票
23 回答
43516 浏览

javascript - 如何检测函数是否被称为构造函数?

给定一个函数:

您可以通过两种方式调用它:

第一个返回 30,第二个返回一个对象。

如何检测函数本身内部调用函数的方式?

无论您的解决方案是什么,它都必须与以下调用一起使用:

目前所有的解决方案都认为将Z.lolol()其称为构造函数。

0 投票
6 回答
14024 浏览

javascript - Why should you not use Number as a constructor?

I entered this statement in JSLint:

And received the following message:

Do not use Number as a constructor.

Why is that? The statement is creating a number object, not a primitive value, so I don't see why using new is a problem.

EDIT: Thanks for all the responses. They've got me thinking further, so I posted a follow-up question here.

0 投票
8 回答
4123 浏览

javascript - 为什么在 JavaScript 中函数既是构造函数又是对象?

我最近对此做了很多研究,但还没有得到一个很好的可靠答案。我在某处读到,当 JavaScript 引擎遇到一个函数语句时,会创建一个新的 Function() 对象,这让我相信它可能是一个对象的子对象(从而成为一个对象)。所以我给 Douglas Crockford 发了邮件,他的回答是:

不完全是,因为函数语句不调用编译器。

但它会产生类似的结果。

此外,据我所知,您不能在函数构造函数上调用成员,除非它已被实例化为新对象。所以这不起作用:

但是,这将起作用:

这只是语义问题吗……在整个编程世界中,对象何时真正成为对象,以及如何映射到 JavaScript?