问题标签 [constructor-overloading]

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 投票
2 回答
106 浏览

java - 从另一个构造函数调用另一个构造函数,在 Java 中重载

我正在阅读这篇文章:

如何在 Java 中从另一个构造函数调用一个构造函数?

在java中从另一个调用一个构造函数

但我不知道我的代码有什么问题:

注意:只有我使用三个构造函数的一个调用......错误消息表示为消息使用///*...*/......

有什么问题?

0 投票
2 回答
2050 浏览

java - 从孙类调用超类构造函数,调用父或祖父构造函数?

当使用来自二级子类的超类构造函数时,它会将参数传递给祖父构造函数还是直接父构造函数?

0 投票
1 回答
79 浏览

c# - 我可以在构造函数中同时调用 this 和 base 重载吗?

我能找到的最接近的线程是这个,但是场景不同——要调用的基本构造函数是默认的。这里我需要指定我要传递的参数。

假设我们有以下场景:

我想避免在 A 的第二个构造函数重载中重复相同的逻辑(从技术上讲,我可以将所有逻辑包装到一个函数中,以减少复制粘贴/提高可维护性,因为最后所有重载都将依赖于相同的代码。如果没有其他解决方案)。

我以为我可以先调用 A 的第一个构造函数重载,然后再调用基础构造函数。但似乎我做不到。

这里的方法是什么?

0 投票
2 回答
60 浏览

c++ - 为什么以及何时执行重载构造函数?

我不明白为什么A::A(a)在调用c->g()print(*c);

而且我不太确定方法打印属于程序的哪个部分?

0 投票
1 回答
421 浏览

c++ - 编译时字符串:`const char *` / `const char[]` 之间的构造函数重载优先级

我正在尝试制作一个编译时字符串类。我从这篇文章中得到了一些提示。不幸的是,我坚持构造函数重载优先级:const char[]构造函数被忽略而有利于 const char*构造函数。任何提示将不胜感激!

如果我可以制作编译时字符串常量,我可以做很多很酷的事情。

  • 字符串相等性测试stringconst char *
  • 消除对编译时常量字符串的const char *调用string的隐式转换的运行时开销。strlen()
  • 执行相等性测试而不是散列大小 < N 的编译时字符串集。(这是我正在查看的一个应用程序的多个 CPU 开销)
0 投票
1 回答
56 浏览

java - 试图让一个类构造函数使用来自另一个类构造函数的一些参数

抱歉,这可能是一个简单的解决方案,但我在编写用于创建一个对象的代码时遇到了麻烦,该对象将在 Java 中使用来自另一个类构造函数参数的参数。本质上,我有这个具有某些参数的 Inv 对象,并且我正在尝试仅使用 Inv 对象中的某些参数创建一个 Warehouse 对象,然后将在 Warehouse Transaction 类中使用该对象。我可以在 Inv 对象构造函数中执行 if 语句吗?不管怎样,我稍后会将这个对象推送到堆栈上,但我无法开发创建第二个对象的逻辑。请帮忙,我对此很陌生。

{

0 投票
3 回答
1757 浏览

c++ - C++ class template constructor -- overload reference(U&) with array(U*) failed

I am trying to build a constructor to take an array as an argument which overloads another who take a scalar instead. Code is below.

The compiler complains that

Obviously, vec2(arr) still calls the first constructor. However, if I remove template <typename U> and replace U to T. The program just works fine. What should I do to correct this?

Any suggestions are appreciated!

0 投票
2 回答
19927 浏览

javascript - 如何在 JavaScript ECMA6 中重载构造函数?

客观的

在 JavaScript ECMA6 中实现允许构造函数重载的机制

为什么这不是重复的

主题为什么 JavaScript ES6 不支持多构造函数类?,虽然相似和这个不一样。另一个主题仅关注使用ECMAScript 版本的构造函数重载,而本主题关注 ECMA6。如果您正在寻找更新的答案,那就是这个地方。

背景

我有一个带有给定构造函数的 JavaScript 类,我希望用户在实例化对象时能够拥有不同的构造函数。我假装的一个例子可能如下:

在这段代码中,用户可以使用三个构造函数,每个构造函数采用不同数量的参数。使用示例如下:

问题

如果使用 Java 或 C#,这是一个简单的示例,因为这些语言具有构造函数重载。

但是,从 MDN 的类文档中可以得出结论,JavaScript 没有。

问题

  1. 有没有办法使用 ECMA6 为 JavaScript 类实现类似的机制?如果不是,最好/最接近的选择是什么?
0 投票
4 回答
56 浏览

c# - 在方法参数中区分基类和派生类

是否可以在 C# 中重载构造函数,以便程序在参数属于派生类时选择使用一个构造函数,如果是基类则选择使用不同的构造函数。例如

也就是说,我希望程序根据对象类型选择正确的构造函数。

0 投票
1 回答
29179 浏览

class - 打字稿类:“重载签名与功能实现不兼容”

我创建了以下类:

我收到以下错误:

重载签名与函数实现不兼容

我尝试了几种方法来重载构造函数,我尝试的最后一种方法是我在上面发布的(我从这里得到的)。

但我仍然得到同样的错误。我的代码有什么问题?