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

scala - Scala 重载构造函数和 super

我无法理解如何在 Java 上开发类似于以下内容的 Scala 代码:

虽然很清楚如何开发C类,但我不知道如何接收B。请帮助。

PS我正在尝试创建自己的从wicket WebPage 派生的BaseWebPage,这是Java 的常见做法

0 投票
8 回答
43333 浏览

java - “this()”方法是什么意思?

我遇到了这段代码,有这一行我不明白它的含义或它在做什么。

我明白什么this.method()或是this.variable,但什么是this()

0 投票
3 回答
301 浏览

scala - 具有不同参数类型的重载构造函数

我知道我们可以在 Scala 中重载类构造函数,如下所示 -

但是我怎样才能重载一个具有两种完全不同类型的参数的类,如下所示(想象我可以通过名称或数字id来识别用户)

0 投票
2 回答
118 浏览

constructor - java中构造函数重载的原因

所以我似乎无法理解重载的问题。我知道这是由共享相同参数的构造函数引起的;但这是否必须完全相同,或者如果它们共享一个公共参数,或者如果一个具有三个参数但与另一个共享两个参数,是否会发生过载?

0 投票
6 回答
115 浏览

java - 不要在子类的构造器中创建超类实例,但完全合法

我在 scjp 指南中阅读如下

事实上,你不能不调用对象的实际类类型的构造函数,还要调用它的每个超类的构造函数来创建一个新对象!

例如

我没有创建 Person 实例,但它是合法的。

请为我解释一下,谢谢您的帮助。

0 投票
2 回答
1885 浏览

c++ - C ++:具有重载构造函数的类的对象数组

0 投票
1 回答
1044 浏览

c++ - C++11构造函数重载解析和initialiser_lists:clang++和g++不一致

我有一小段 C++11 代码,g++(4.7 或 4.8)拒绝编译,声称对 B2 b2a(x, {P(y)}) 的构造函数的调用不明确。Clang++ 对那个代码很满意,但拒绝编译 G++ 非常乐意编译的 B2 b2b(x, {{P(y)}}) !

两个编译器都对使用 {...} 或 {{...}} 作为参数的 B1 构造函数非常满意。任何 C++ 语言律师都可以解释哪个编译器是正确的(如果有的话)以及发生了什么?下面的代码:

和编译器错误,铿锵声:

克++:

这闻起来像是统一初始化、初始化列表语法和带有模板化参数的函数重载之间的交互(我知道 g++ 对此相当严格),但我还不足以成为一名标准律师,无法解开应该是正确的行为这里!

0 投票
1 回答
125 浏览

c++ - 为什么派生类中复制/移动函数的“正常”实现会因定义方式而有所不同?

我对派生类复制和移动函数调用其基类版本时看到的行为感到困惑。

我有一个带有各种构造函数的基类,它们告诉我何时调用它们:

对于具有编译器生成的复制和移动操作的派生类

和这个测试代码,

gcc 4.8.1 产生这个输出:

这让我很惊讶。我希望调用采用通用引用的基类构造函数,因为它可以被实例化以在可能从派生类的函数传递的派生对象上创建精确匹配。基类复制和移动函数需要派生到基类的转换。

如果我更改派生类以自己声明复制和移动函数,但给它们默认实现,

gcc 产生相同的输出。但是,如果我自己用我认为是默认实现的方式编写函数,

我得到了我最初期望的输出:

我希望在每种情况下都能得到相同的输出。这是 gcc 中的错误,还是我不理解的地方?

0 投票
3 回答
3511 浏览

java - java中的构造函数重载

我收到以下代码片段的错误

错误是:在调用超类型构造函数之前无法引用 x(并指出注释 1 中的语句)

在主要方法中我有这个声明

我不明白这个错误。有人可以解释这里实际发生的事情吗?

0 投票
1 回答
81 浏览

java - 抑制重载 Java 构造函数中的某些异常

我有一个带有许多重载构造函数的类。根据构造函数的不同,可能会发生异常(当其中一个startSizegrowFactor太小时)。在其他构造函数中,使用默认值并且不会发生这些异常。

是否有可能以某种方式抑制更简单的构造函数上的警告,如下所示?我不能将它们包含在 try-catch 块中,因为重载的构造函数调用必须是第一个调用。