Tag: default constructor

用于将默认参数值设置为默认构造函数的更好的语法

有人可能想用一个参数声明一个函数,并指定该参数的默认值是该types的默认构造函数的结果: void foo(a::really::long::type::name arg = a::really::long::type::name()); 有没有更好的语法,这不涉及inputtypes名称两次? 就像是: void foo(a::really::long::type::name arg = default); 我意识到我可以键入typedef的types名称,使其更漂亮,但我很好奇这样的语法是否存在。

我们是否总是在类中包含一个默认的构造函数?

我有一位同事问过这个问题,我们是否应该在一个类中总是包含一个默认构造函数? 如果是这样,为什么? 如果不是,为什么不呢? 例 public class Foo { Foo() { } Foo(int x, int y) { … } } 我也有兴趣从专家那里得到一些灯。