Arver avledet klasse konstruktør?
Arver avledet klasse konstruktør?

Video: Arver avledet klasse konstruktør?

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

I arv , den avledet klasse arver alle medlemmene (felt, metoder) i basen klasse , men avledet klasse kan ikke arve de konstruktør av basen klasse fordi konstruktører er ikke medlemmer av klasse.

På samme måte, spør folk, arver klasser konstruktører?

Konstruktører er ikke arvet . De kalles implisitt eller eksplisitt av barnet konstruktør . Kompilatoren oppretter en standard konstruktør (en uten argumenter) og en standardkopi konstruktør (en med et argument som er en referanse til samme type). OPPDATERING: I C++11, konstruktører kan være arvet.

Dessuten, hva er konstruktør i avledet klasse? EN Avledet klassekonstruktør har kun tilgang til sine egne klasse medlemmer, men a Avledet klasse objekt har også arvet eiendom til Base klasse , og bare base klasse konstruktør kan initialisere basen på riktig måte klasse medlemmer. Derfor alle konstruktører kalles, ellers ville ikke objektet være konstruert riktig.

Ved siden av dette, kan konstruktører og destruktorer arves?

Avledede klasser gjøre ikke arve eller overbelastning konstruktører eller ødeleggere fra basisklassene deres, men de gjøre Ring konstruktør og destruktor av basisklasser. Konstruktører kalles også når lokale eller midlertidige klasseobjekter opprettes, og ødeleggere kalles når lokale eller midlertidige objekter går utenfor virkeområdet.

Hvilken konstruktør kalles først i arv?

Konstruktør og destructor i singel arv Grunnklasse konstruktører er ringte først og den avledede klassen konstruktører er kalt neste i singel arv.

Anbefalt: