问题标签 [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 回答
242 浏览

c# - 优化 C# 中的构造函数重载

我有一个带有以下构造函数的 Winforms 应用程序:

选哪个?这取决于程序是否由 CMD 启动并添加了参数。这是检查的主要内容:

我的问题是:

如何优化构造函数?它们都包含大约 30 行与相同代码一样好的代码,我想通过这样做来解决这个问题:

但这给了我错误:

不可调用的成员不能像方法一样使用。

我该如何优化呢?

0 投票
3 回答
1737 浏览

c++ - 转换非空终止向量串起来

我有一个非空终止的字符向量,如何构造一个新字符串并让它自动插入\0到字符串的末尾?

两者之间的正确构造函数是什么?

0 投票
1 回答
117 浏览

c++ - C++:在向量中调用了哪些构造函数vn{我的分配器(一个)}?

我有一个简单的分配器:

这是客户端代码(仅使用A, B,之一C):

无论使用A还是B使用,输出始终是这样的:

我的问题

(1) 如果A存在,分配器只构造一次,这是可以理解的。但是当B存在而不是时,显然调用A了的复制构造函数,但输出并未反映这一点。为什么?MallocatorB

(2) 如果B存在,std::vector调用哪个构造函数?在这个参考中,唯一接受初始化列表的构造函数看起来不像这样。如果我使用C而不是B,它将无法编译,并且 clang++ 的错误消息没有帮助..

Eidt:我知道这个分配器是微不足道的,但这不是这个问题的重点..

“alloc.h”的代码改编自此处,位于页面末尾。

0 投票
2 回答
744 浏览

scala - 如何重载我的案例类构造函数以允许两种不同的类型?

现在我有一个RealVector班级和ComplexVector班级。它们的逻辑几乎相同,所以我想将它们组合成一个Vector类。RealVector需要一个List[Double]ComplexVector需要一个List[ComplexNumber]whereComplexNumber是我创建的一个案例类。

我如何使它case class Vector接受这两种List类型中的任何一种?请注意,虽然大多数方法的代码是相同的,但其中一些可能会返回 aDoubleComplexNumber取决于List类型。在这种情况下使用案例类是否正确,或者我应该使用普通类?

编辑:我当前的代码

0 投票
1 回答
43 浏览

scala - 如何让我的重载构造函数接受任何数字类型?

我有一个CoordVector接受的类,我在别处定义的类Vector[ComplexNumber]在哪里ComplexNumber,并且我也将其覆盖为接受Vector[Double]。但我希望覆盖改为接受 Scala 中的任何数字类型。

这是我当前的代码

不幸的是,我不能只替换DoubleNumeric,但是有没有一种简单的方法可以做到这一点,而不必为每个数字类型创建一个新的implicit defand ?apply

0 投票
1 回答
149 浏览

python-2.7 - 在 socker 服务器构造函数覆盖中给出 4 个预期的 5 个参数

我正在尝试覆盖 TCPHandler 类的构造函数,以便可以将变量传递给处理函数,我在堆栈上遇到过其他帖子,但我并不清楚。我必须将一个字节数组传递给handle()方法中的 sendall 函数,并且在寻找执行上述操作的不同方法时,重写构造函数是最首选的选项。

这是我的代码:

当我打印出 时help(superTCPHandler))handle()函数没有显示它的继承,代码编译但什么也不做,或者客户端什么也没收到。我假设handle()没有从我的自定义类中调用该函数。我确实有一种强烈的感觉,错误出在某个地方__init__,我用不同的方法尝试了多次,但没有成功。这样做的正确方法是什么?

我不确定是否必须创建基本类(MyTCPHandler)的对象,因此在初始化 custom_server 对象之前我已经注释了服务器对象。我对套接字编程有点陌生,请原谅我的盲目错误。

这是我得到的错误:

custom_server = superTCPHandler((HOST, PORT), superTCPHandler, bytearray([114, 100, 100 ,100, 2]))

TypeError: init () 需要 5 个参数(给定 4 个)
[在 0.1 秒内完成,退出代码为 1]

0 投票
1 回答
285 浏览

c++ - 为什么我的复制构造函数出现“未定义的引用”错误?

我以为我已经为我initializer-list constructor的 . 它应该是overloaded constructor我的,从这种类型的输入Matrix class中创建一个:我知道我的一个定义是不正确的,但我无法破译哪个(S)。MatrixMatrix d = {{1,3}, {5,9};

0 投票
0 回答
94 浏览

c++ - C++:冲突模板中的重载和“非命名空间范围内的显式特化”错误

我在一个message通常包含 的子类的类中嵌套了一个模板message,但是如果我希望它包含message自己,我会遇到 ctor 重载冲突的问题。(如果我能以某种方式让它忽略其中一种冲突方法会很好,但我不知道如何。)所以我尝试对messsage容器进行专门化,但后来我得到了

非命名空间范围“类消息”中的显式专业化

我已经研究过如何处理这样的错误(比如这里这里这里),但我不知道如何将这些解决方案硬塞到我的问题中。

请记住,T通常是message. 唯一的例外是 when T is message。然后,第二个和第三个 ctor 之间存在明显的冲突。但是,如果我尝试专注于

然后我得到那个编译器错误,我不知道如何处理它。

0 投票
1 回答
947 浏览

java - 构造函数的条件调用

我有类似的情况

如果我仍然想有条件地调用构造函数怎么办?(尽管他们说创建单独的类是值得建议的)

需求结构:

超级班:

派生类:

我应该如何实施?

编辑:

根据以下建议以这种方式实现它:

超级班:

派生类:

编辑2:

根据下面的建议,这是正确的使用方法instanceof吗?

是显示以下错误:

0 投票
1 回答
38 浏览

java - 在“显式构造函数调用”期间,Java 如何区分几乎相同的构造函数?

我正在阅读 Java 教程并且有一个关于显式构造函数调用的问题。首先,这是教程中编写的字段和构造函数,以及我添加的另一个构造函数:

在默认构造函数中,“this(0,0,1,1);” 行没有指定 0 的类型。我的问题是,为什么它不转到我编写的第三个构造函数(使用“短”类型)或给出错误。当我打印出对象的“x”值时,我总是得到 0 而永远不会得到 4。Java 是如何决定使用“int”的?