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

python - Python:重载构造函数的问题

警告:我已经学习了 10 分钟的 Python,所以对任何愚蠢的问题表示歉意!

我编写了以下代码,但是出现以下异常:

消息文件名称行位置追溯节点 31 异常。类型错误:此构造函数不接受任何参数

有什么想法吗?

0 投票
6 回答
6694 浏览

c# - 重载“base”构造函数还是“this”构造函数?

我有几个从简化派生的类型,Base如下所示。

我不确定this在重载构造函数时是使用基类的构造函数还是构造函数。

ConcreteA纯粹使用base构造函数重载构造函数,而
ConcreteB重载使用this前两个重载。

重载构造函数的更好方法是什么?

[编辑] 看起来伊恩·奎格利在他的回答中所建议的似乎是有道理的。如果我要进行初始化验证器的调用,ConcreteA(string)则在以下情况下将永远不会初始化验证器。

0 投票
9 回答
2208 浏览

c++ - 可选参考成员 - 有可能吗?

我有以下课程

过了一会儿,事实证明并非所有 CItem 对象都需要注册,所以我需要一个 CItem 版本,它不需要构造函数中的 Registry(当然还有注册代码)。我该如何实施?我在这里可以看到的唯一解决方案是获取注册表并将其保留为指针。有没有更优雅的解决方案,比如使用模板等(我不喜欢从引用切换到指针)?

0 投票
6 回答
178900 浏览

java - Java中的构造函数重载 - 最佳实践

有几个类似的话题,但我找不到一个有足够答案的话题。

我想知道Java中构造函数重载的最佳实践是什么。我已经对这个主题有了自己的想法,但我想听听更多的建议。

我指的是简单类中的构造函数重载和在继承已经重载的类时构造函数重载(意味着基类具有重载的构造函数)。

谢谢 :)

0 投票
1 回答
892 浏览

c++ - 具有类似转换的枚举、构造函数重载

当我将枚举指定为第二个参数时,为什么 VisualC++ (2008) 会混淆“C2666:2 个重载具有相似的转换”,但在我定义布尔类型时却没有?

类型匹配不应该已经排除了第二个构造函数,因为它是“basic_string”类型吗?

我可以通过指定一个参考来解决这个问题 'ie. basic_string &myString' 但如果它是 'const basic_string &myString' 则不是。

还通过 "test((basic_string)"test", mbOne);" 显式调用 也有效。

我怀疑这与通过固有的“!= 0”将每个表达式/类型解析为布尔值有关。

好奇的评论都一样:)

0 投票
6 回答
1307 浏览

c++ - 为什么不调用我重载的 C++ 构造函数?

我有一堂像这样的课:

如果我创建这样的对象:

bool 构造函数被调用!

有谁知道为什么?

谢谢

0 投票
8 回答
2753 浏览

java - 使用多种方法的 Java 构造函数重载

我在课堂上有一个项目作业。我已经了解了重载的基础知识,但在某一点上我完全糊涂了。如何仅从我尝试使用的方法输出?好吧,让我向您展示代码而不是解释。

好的,那么现在!如何调用 BoxTest 类以仅输出给定的内容。例如,使用 Box BoxObject1 我想输出“使用 XX 的长度创建的线”而不是其余的。对于 Box Box Object2,我想输出“使用 XX 长度和 XX 宽度创建的矩形”。我不确定接下来要添加什么来实现这一点。任何帮助将不胜感激。

0 投票
3 回答
112462 浏览

c# - C# 构造函数重载

我如何在 C# 中使用构造函数,如下所示:

我需要它不要从另一个构造函数复制代码......

0 投票
4 回答
2949 浏览

c++ - 从构造函数初始化列表调用重载的构造函数

在下面的代码中,我的意图是根据传递给 class 对象的参数调用kap(class )的两个重载构造函数之一:opacitymaterial

然而,这不起作用:

我尝试的第一件事,

也失败了,因为由于编译时原因,“三元运算符的结果总是必须是相同的类型”,正如在类似问题中指出的那样(尽管似乎没有在那里解释)。

Matter现在,不优雅的解决方案是也基于构造函数应该接收的参数重载构造kap函数,但这是(1)非常不优雅,特别是因为Matter构造函数需要许多变量并执行许多操作(所以很多代码会是复制只是为了改变构造函数初始化列表的一部分),并且(2)如果有另一个使用的类也有不同的构造函数,kap这可能会失控:对于具有N个 c'tors的M个类,一个以N结尾^ M组合...Matter

有人会有建议或解决方法吗?提前致谢!

0 投票
4 回答
2262 浏览

c++ - 重载 std::string 构造函数

我可以重载 std::string 构造函数吗?

我想创建一个构造函数,它接受 std::wstring 并返回一个 std::string。有可能吗?怎么做?

谢谢。