在C#,C ++和Java中,创建带有参数的构造函数时,默认的无参数构造函数将消失。我一直只是接受这个事实,但是现在我开始怀疑为什么。
这种行为的原因是什么?难道仅仅是“安全措施/猜测”这样的说法:“如果您创建了自己的构造函数,那么您可能不希望这种隐式变量徘徊”?还是出于技术原因,一旦您自己创建了构造函数,编译器就不可能添加一个?
如果您添加了自己的构造器,那么没有理由编译器无法添加构造函数-编译器可以执行几乎所有需要的操作!但是,您必须查看最有意义的内容:
因此,在每种情况下,您都可以看到,就保留代码的可能意图而言,当前编译器的行为最有意义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句