Arver afledt klasse konstruktør?
Arver afledt klasse konstruktør?

Video: Arver afledt klasse konstruktør?

Video: Arver afledt klasse konstruktør?
Video: How Constructors Work With Inheritance | C++ Tutorial 2024, November
Anonim

I arv , det afledt klasse arver alle medlemmer (felter, metoder) af basen klasse , men afledt klasse kan ikke arve det konstruktør af basen klasse fordi konstruktører er ikke medlemmer af klasse.

På samme måde spørger folk, arver klasser konstruktører?

Konstruktører er ikke nedarvet . De kaldes implicit eller eksplicit af barnet konstruktør . Compileren opretter en standard konstruktør (en uden argumenter) og en standardkopi konstruktør (et med et argument, som er en reference til samme type). OPDATERING: I C++11, konstruktører måske nedarvet.

Hvad er konstruktør i afledt klasse? EN Afledt klassekonstruktør har kun adgang til sine egne klasse medlemmer, men a Afledt klasse objekt har også nedarvet Basens ejendom klasse , og kun base klasse konstruktør kan initialisere basen korrekt klasse medlemmer. Derfor alle konstruktører kaldes, ellers ville objektet ikke være konstrueret korrekt.

Udover dette, kan konstruktører og destruktorer arves?

Afledte klasser gør ikke arve eller overbelastning konstruktører eller ødelæggere fra deres basisklasser, men de gør ringe til konstruktør og destruktor af basisklasser. Konstruktører kaldes også, når lokale eller midlertidige klasseobjekter oprettes, og ødelæggere kaldes, når lokale eller midlertidige objekter falder uden for anvendelsesområdet.

Hvilken konstruktør kaldes først i arv?

Konstruktør og destructor i single arv Grundklasse konstruktører er ringede først og den afledte klasse konstruktører er hedder næste i single arv.

Anbefalede: