Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #36691
| Path | csiph.com!aioe.org!.POSTED!not-for-mail |
|---|---|
| From | Arne Vajhøj <arne@vajhoej.dk> |
| Newsgroups | comp.lang.java.programmer, comp.lang.c++ |
| Subject | Re: "default constructor" |
| Date | Wed, 21 Jun 2017 12:52:41 -0400 |
| Organization | Aioe.org NNTP Server |
| Lines | 43 |
| Message-ID | <oie891$ome$1@gioia.aioe.org> (permalink) |
| References | <default-constructor-20170619023834@ram.dialup.fu-berlin.de> |
| NNTP-Posting-Host | PBuS014lhzVyHjLbXmo/ZQ.user.gioia.aioe.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| X-Complaints-To | abuse@aioe.org |
| User-Agent | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 |
| X-Notice | Filtered by postfilter v. 0.8.2 |
| Content-Language | en-US |
| Xref | csiph.com comp.lang.java.programmer:36691 comp.lang.c++:51499 |
Cross-posted to 2 groups.
Show key headers only | View raw
On 6/18/2017 9:49 PM, Stefan Ram wrote: > A default constructor is a constructor that misses something. > > In C++, it is a constructor that can be called with missing > arguments (no arguments). > > C++ 12.1p4: > > A default constructor for a class X is a constructor of > class X for which each parameter that is not a function > parameter pack has a default argument (including the > case of a constructor with no parameters). > > In Java, it is a constructor that is generated when an > explicit constructor declaration is missing. The generated > constructor just so happens to have no parameters, but > an explicitly declared constructor with no parameters is > not a default constructor, but replaces it: > > JLS8 13.4.12 > > Adding one or more constructor declarations to the > source code of such a class will prevent this default > constructor from being implicitly declared, effectively > deleting a constructor, unless one of the new > constructors also has no parameters, thus replacing the > default constructor. > > Summary (simplified): In C++, "default constructor" means > "any constructor that does not require an argument". > In Java, it means "the constructor that is generated if > the user does not declare any constructor". So? C++ and Java are two different languages. They also have somewhat different associated terminologies. No surprise. Arne
Back to comp.lang.java.programmer | Previous | Next | Find similar | Unroll thread
Re: "default constructor" Arne Vajhøj <arne@vajhoej.dk> - 2017-06-21 12:52 -0400
csiph-web