问题标签 [default-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 投票
2 回答
191 浏览

c++ - (简单的构造函数概念)为什么不 Foo(); 做任何事情?

这是一个简单的 C++ 构造函数概念,我遇到了麻烦。

鉴于此代码段:

输出是:

好像Foo f2();什么都没做。什么 Foo f2();它为什么不做任何事情

0 投票
1 回答
736 浏览

c++ - 2 different types of constructor invocation from copy constructor

Consider the sample code below:

Type1: Copy constructor not declared explicitly for class sample

(Type1 is shown in the code above. Then the copy constructor of class sample is implicitly generated by the compiler). When the statement, Line1 is executed, first the copy constructor of class core is invoked, and then the copy constructor of class sample is invoked.

Type2: Copy constructor defined explicitly for class sample

When the statement, Line1 is executed, first the default constructor of class core is invoked, and then the copy constructor of class sample is invoked.

Question:

Why is this difference in behavior for copy constructor as mentioned in Type1 and Type2 ?

0 投票
3 回答
909 浏览

java - 将 Java 构造函数/方法标记为不供客户端使用的首选方式?

我想将一些默认构造函数和设置器标记为不可用/不推荐使用。我需要它与 annotation 有点相似@Deprecated,但它不应该具有相同的含义。我只是添加构造函数和设置器,因为某些框架让我这样做(Hibernate、Spring、Jackson)。你知道这种结构是否存在吗?

0 投票
1 回答
334 浏览

c++ - C++ 调用带括号和不带括号的默认构造函数

可能重复:
C++ 中不同类型的初始化

调用基本构造函数之间有什么区别吗

对比

0 投票
2 回答
1155 浏览

c++ - 未初始化 const 对象的编译器投诉

可能重复:
未初始化的 const

我知道 const 对象需要初始化。

所以对于下面的代码,

编译器会抱怨,因为 const 对象obj未初始化。

但是当我使用默认构造函数修改代码(如下所示)时,编译器不会抛出任何错误。

新添加的默认 ctor 满足编译器的要求是什么?

0 投票
1 回答
159 浏览

python - python中多重继承的行为

class的默认__init__方法cobj创建时调用,它在内部调用__init__唯一的 class b

根据我的理解,如果我从 2 个类继承,我的派生类对象应该具有两个类的变量(除非它们是这些类的私有变量)。

我的问题:我期望我的派生对象包含来自两个类的变量是错误的吗?如果是这样,为什么?不应该也调用__init__class吗?a在像 C++ 这样的语言中会发生什么?

0 投票
4 回答
130 浏览

java - Java中的构造函数相关错误

我是 Java 新手并编写了这段代码。它有一个简单的类 Box 和两个属性 width 和 length 以及一些功能。

我收到这个错误。我该如何解决?有人可以解释一下吗。

0 投票
2 回答
1834 浏览

c++ - 为什么我不能用 C++ 中的模板版本覆盖默认的复制构造函数和赋值运算符

我问了这个关于用模板版本重载复制构造函数和赋值运算符的问题,并考虑到围绕这个问题的混淆(因为它似乎是一个编译器错误),我想我会尝试只使用模板复制构造函数和模板赋值运算符走着瞧吧。但是编译器完全忽略了它们。

为什么我不能用模板版本覆盖默认值(我怀疑答案将是默认值是更好的匹配,但我希望模板版本也可以作为默认值)?我能做些什么来确保调用模板版本而不是默认值吗?

0 投票
2 回答
408 浏览

c++ - 包含括号时,默认构造函数不会在模板类中编译 (g++4.6.1)

我在 Google 上找不到任何关于此的信息,在以下示例中:

代码无法编译并出现以下错误:

在静态成员函数'static void Template::Test()'中:19:22:错误:没有 -std=c++0x 或 -std=gnu++0x 的函数模板中不能使用默认模板参数

问题是它不喜欢出现在该行的括号,我不明白为什么。如果我删除括号代码编译就好了。此外,如果我删除模板声明(第 13 行),它也编译得很好。这是一个错误还是关于这种情况的某个地方有什么规则?

我正在使用 g++4.6.1(gcc 版本 4.6.1(Ubuntu/Linaro 4.6.1-9ubuntu3))

0 投票
5 回答
6754 浏览

c++ - C++:继承的必备默认超类构造函数?

是否必须在超类中具有默认构造函数才能继承它?假设每个派生类构造函数都显式调用超类构造函数之一,并提供正确的参数——这样的代码会起作用吗?