Onko jokaisella luokalla oletuskonstruktori C++?
Onko jokaisella luokalla oletuskonstruktori C++?

Video: Onko jokaisella luokalla oletuskonstruktori C++?

Video: Onko jokaisella luokalla oletuskonstruktori C++?
Video: Onko Nämä Reilut Säännöt? 😂 2024, Huhtikuu
Anonim

Oletuskonstruktorit ( C++ vain)

A oletuskonstruktori on a rakentaja että joko on ei parametreja, tai jos on on parametrit, kaikki parametrit oletuksena arvot. Jos ei käyttäjän määrittämää rakentaja on olemassa a:lle luokkaa A ja yksi On tarvitaan, kääntäjä ilmoittaa implisiittisesti a oletuksena parametriton rakentaja A::A().

Tarvitsetko vastaavasti oletuskonstruktorin C++:n?

Kääntäjä ilmoittaa implisiittisesti oletuskonstruktori jos ohjelmoija ei ole antanut sitä, määrittelee sen sisääntulon yhteydessä tarve . Kääntäjä määritelty oletuskonstruktori On vaaditaan to tehdä luokan sisäisten toimintojen tietty alustus. Kääntäjän on lisättävä koodi kutsuakseen oletuskonstruktorit perusluokan / upotetun objektin.

Tiedä myös, voiko luokassa olla ilman konstruktoria C++? Jos sinun luokassa ei ole rakentajia , C++ tulee luo automaattisesti julkisen oletusarvon rakentaja sinulle. Tätä kutsutaan joskus implisiittiseksi rakentaja (tai implisiittisesti luotu rakentaja ).

Voidaan myös kysyä, onko jokaisella luokalla oletuskonstruktori?

Kyllä kaikki luokat jonka luomme javassa, tulee esiin oletuskonstruktori ilman parametreja. Mutta heti kun luomme parametroidun rakentaja että oletuskonstruktori get poistettu.

Kuinka kutsut oletuskonstruktoria C++:ssa?

Rakentaja on sama nimi kuin itse luokalla. Rakentajat ei ole palautustyyppiä. A rakentaja kutsutaan automaattisesti, kun objekti luodaan. Jos emme määritä a rakentaja , C++ kääntäjä luo a oletuskonstruktori meille (ei odota parametreja ja siinä on tyhjä runko).