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

c++ - 带空括号的默认构造函数

是否有充分的理由表明一组空的圆括号(括号)对于调用 C++ 中的默认构造函数无效?

我似乎每次都自动输入“()”。有充分的理由不允许这样做吗?

0 投票
4 回答
92860 浏览

c# - 使用反射在 C# 中创建没有默认构造函数的类型实例

以下面的类为例:

然后我想使用反射创建这种类型的实例:

通常这会起作用,但是由于SomeType没有定义无参数构造函数,因此调用Activator.CreateInstance将引发类型异常,MissingMethodException并显示消息“没有为此对象定义无参数构造函数。 ”是否有另一种方法来创建这种类型的实例?将无参数构造函数添加到我的所有类中会有点糟糕。

0 投票
4 回答
6352 浏览

c# - 为什么无参数的 Guid 构造函数会生成一个空的 GUID?

为什么无参数的 Guid 构造函数会生成一个空的 GUID,而不是像 Guid.NewGuid() 那样默认生成一个?

空的 Guid 有什么特殊用途吗?

0 投票
11 回答
94867 浏览

java - Default constructors and inheritance in Java

I have a question about default constructors and inheritance in Java.

Generally, if you write a class and do not include any constructor, Java provides automatically for you a default constructor (one without parameters), which initializes all instance variables of the class (if there are any) with some default values (0, null, or false). If you write a constructor, however, with some parameters, and you don't write any default constructor, then Java does not provide a default constructor. My question is: what is the case with classes, which inherit from other classes - if I write a constructor with some parameters in them, but don't include a default constructor, do they inherit the default constructor of the super class?

0 投票
6 回答
3377 浏览

c++ - C++ 标准列表和默认可构造类型

为什么要求的单参数构造函数std::list<T>T默认可构造类型?我的意思是以下代码无法编译。

似乎可以像在 std::vector 中所做的那样使用构造和销毁习语,尽管需要更多地记录列表类。

在相关说明中,为什么列表中没有容量功能?您可以争辩说,这样的函数会预先支付内存分配成本,并在以后消除push_back对象时的开销。至少它会使两个 STL 序列容器的接口稍微一致。

0 投票
2 回答
2901 浏览

c++ - 向量中元素的默认构造

在阅读这个问题的答案时,我对向量中对象的默认构造产生了疑问。为了测试它,我编写了以下测试代码:

果然,在创建向量对象时调用了 Test structs 默认构造函数。但我无法理解的是 STL 如何初始化我创建基本数据类型向量的对象,例如整数向量,因为它有默认构造函数?即向量中的所有整数如何具有值0?不应该是垃圾吗?

0 投票
4 回答
4126 浏览

c# - 可以在 C# 中使用带有非默认构造函数的单例吗?

我正在为我的一个项目实施通知框架。因为我希望它非常通用,所以用户可以使用多个传输层,这样他就不需要关心使用一种交付方法(比如说 WCF)或另一种(例如 ActiveMQ)。用户可以访问的接口当然与交付方法(WCF 或 ActiveMQ)无关。尽管如此,这两个类(消费者和生产者)实现了单例,因此它们实际上使用默认构造函数(意思是,没有参数)。我的问题是我想要一个参数,即用户想要使用的交付方式。但据我所知,单例只使用默认构造函数?这是正常的,因为不应该使用带参数的单例。那么,我在这里有什么选择?不创建单例?创建一个方法来设置交付方式?

非常感谢您的帮助,

塞巴斯蒂安

0 投票
3 回答
1758 浏览

c# - 盲目地将结构转换为类以隐藏默认构造函数?

我阅读了与该主题相关的所有问题,它们都给出了为什么struct在 C# 中没有默认构造函数的原因,但我还没有找到任何人在遇到这种情况时提出一般的行动方案。

显而易见的解决方案是简单地将 a 转换struct为 aclass并处理后果。

还有其他选择可以保留它struct吗?

我在使用我们的一个内部商务 API 对象时遇到了这种情况。设计者将其从 a 转换class为 a struct,现在默认构造函数(之前是私有的)使对象处于无效状态。

我认为如果我们要将对象保留为 a struct,则应该引入一种检查状态有效性的机制(类似于IsValid属性)。我遇到了很多阻力,并且对“任何使用 API 的人都不应使用默认构造函数”的解释,无疑让我大吃一惊。(注意:有问题的对象是通过静态工厂方法“正确”构造的,所有其他构造函数都是internal。)

是不是大家都在这种情况下不假思索地把structs转成es?class

编辑:我想看到一些关于如何将这种类型的对象保留为 a 的建议struct——上面有问题的对象更适合作为 astruct而不是作为 a class

0 投票
1 回答
324 浏览

c++ - 如何使用 operator>> 读取值但没有该值的默认构造函数?

这个通用代码读取类型 T 的值,并进行了一些额外的错误处理。它依赖于具有可以解析 T 的 operator>>,并且通过这种方式它可以扩展到新类型。

我没有意识到它依赖于 T 具有默认构造函数。现在我遇到了这个问题。

我有哪些选择?

正确的方法是什么?

0 投票
3 回答
2383 浏览

c++ - 使用自定义类作为参数的构造函数,抛出“没有匹配的函数来调用...”

我正在尝试为自定义类型创建一个构造函数,但由于某种原因,它试图调用,我猜是另一个类的构造函数定义中的构造函数。找不到任何符合相同症状的东西我还有其他问题,因为我可能不知道我在找什么。

当我打电话时:

在 main.cpp 中,在 LatLngBounds.cpp 中,我得到“No matching funciton for call to 'LatLng:LatLng()”在线上抛出两次:

有人有什么想法吗?

德鲁·J·索恩。

IDE:Xcode 3.2(针对 Debug 10.5)
操作系统:OSX 10.6
编译器:GCC 4.2
Arch:x86_64



主.cpp:

LatLngBounds.h

LatLngBounds.cpp

拉丁文

拉丁文.cpp