Ärver härledd klass konstruktor?
Ärver härledd klass konstruktor?

Video: Ärver härledd klass konstruktor?

Video: Ärver härledd klass konstruktor?
Video: ЗАБРАЛ Игрушку у МАЛЬЧИКА! НАДО ли Вернуть? Kids Toy Cars 2024, Maj
Anonim

I arv , den härledd klass ärver alla medlemmar (fält, metoder) i basen klass , men härledd klass kan inte ärva de konstruktör av basen klass eftersom konstruktörer är inte medlemmar i klass.

På samma sätt, frågar folk, ärver klasser konstruktörer?

Konstruktörer är inte ärvt . De kallas implicit eller explicit av barnet konstruktör . Kompilatorn skapar en standard konstruktör (en utan argument) och en standardkopia konstruktör (en med ett argument som är en referens till samma typ). UPPDATERING: I C++11, konstruktörer kan vara ärvt.

Dessutom, vad är konstruktor i härledd klass? A Härledd klasskonstruktör har endast tillgång till sina egna klass medlemmar, men a Härledd klass objekt har också ärvt Basens egendom klass , och endast bas klass konstruktör kan initiera basen korrekt klass medlemmar. Därav alla konstruktörer anropas, annars skulle objektet inte konstrueras korrekt.

Förutom detta, kan konstruktörer och destruktörer ärvas?

Härledda klasser do inte ärva eller överbelastning konstruktörer eller förstörare från sina basklasser, men de do ring konstruktör och destruktör av basklasser. Konstruktörer anropas också när lokala eller temporära klassobjekt skapas, och förstörare anropas när lokala eller tillfälliga objekt går utanför räckvidden.

Vilken konstruktor kallas först i arv?

Konstruktör och destructor i singel arv Basklass konstruktörer är ringde först och den härledda klassen konstruktörer är kallad nästa i singel arv.

Rekommenderad: