Erft de afgeleide klasse de constructor?
Erft de afgeleide klasse de constructor?

Video: Erft de afgeleide klasse de constructor?

Video: Erft de afgeleide klasse de constructor?
Video: Proxy & Javassist 2024, Mei
Anonim

In erfenis , de afgeleide klasse erft alle leden (velden, methoden) van de basis klas , maar afgeleide klasse kan niet erven de constructeur van de basis klas omdat constructeurs zijn niet de leden van de klas.

Evenzo vragen mensen: erven klassen constructeurs?

Constructeurs zijn niet geërfd . Ze worden impliciet of expliciet genoemd door het kind constructeur . De compiler maakt een standaard constructeur (een zonder argumenten) en een standaardkopie constructeur (een met een argument dat een verwijzing is naar hetzelfde type). BIJWERKEN: In C++11, constructeurs kan zijn geërfd.

Ook, wat is constructor in afgeleide klasse? EEN Afgeleide klassenconstructor heeft alleen toegang tot zijn eigen klas leden, maar een Afgeleide klasse object hebben ook geërfd eigendom van Base klas , en alleen basis klassenconstructeur kan de basis goed initialiseren klas leden. vandaar alle constructeurs worden aangeroepen, anders zou het object niet goed worden geconstrueerd.

Kunnen constructeurs en destructors daarnaast worden geërfd?

Afgeleide klassen doen niet erven of overbelasting constructeurs of vernietigers uit hun basisklassen, maar zij doen bel de constructeur en destructor van basisklassen. Constructeurs worden ook aangeroepen wanneer lokale of tijdelijke klasseobjecten worden gemaakt, en vernietigers worden aangeroepen wanneer lokale of tijdelijke objecten buiten het bereik vallen.

Welke constructor wordt als eerste aangeroepen bij overerving?

Constructeur en destructor in single erfenis Basisklasse constructeurs zijn eerst gebeld en de afgeleide klasse constructeurs zijn genaamd volgende in single erfenis.

Aanbevolen: