Erf afgeleide klas konstruktor?
Erf afgeleide klas konstruktor?

Video: Erf afgeleide klas konstruktor?

Video: Erf afgeleide klas konstruktor?
Video: How to speed up slow Xcode builds, modularize & migrate legacy Obj-C to Swift | Live Dev Mentoring 2024, Mei
Anonim

In erfenis , die afgeleide klas erf al die lede (velde, metodes) van die basis klas , maar afgeleide klas kan nie erf die konstruktor van die basis klas want konstrukteurs is nie die lede van die klas.

Net so, vra mense, erf klasse konstrukteurs?

Konstrukteurs is nie geërf . Hulle word implisiet of eksplisiet deur die kind genoem konstruktor . Die samesteller skep 'n verstek konstruktor (een met geen argumente) en 'n verstekkopie konstruktor (een met 'n argument wat 'n verwysing na dieselfde tipe is). OPDATERING: In C++11, konstrukteurs Kan wees geërf.

Ook, wat is konstruktor in afgeleide klas? A Afgeleide klaskonstruktor het slegs toegang tot sy eie klas lede, maar a Afgeleide klas voorwerp het ook geërf eiendom van Base klas , en slegs basis klas konstruktor basis behoorlik kan inisialiseer klas lede. Vandaar al die konstrukteurs genoem word, anders sou voorwerp nie behoorlik gekonstrueer word nie.

Behalwe dit, kan konstrukteurs en vernietigers geërf word?

Afgeleide klasse doen nie erf of oorlading konstrukteurs of vernietigers uit hul basisklasse, maar hulle doen bel die konstruktor en vernietiger van basisklasse. Konstrukteurs word ook genoem wanneer plaaslike of tydelike klasobjekte geskep word, en vernietigers word genoem wanneer plaaslike of tydelike voorwerpe buite omvang gaan.

Watter konstruktor word eerste in oorerwing genoem?

Konstrukteur en vernietiger in enkel erfenis Basisklas konstrukteurs is eerste gebel en die afgeleide klas konstrukteurs is geroep volgende in enkelspel erfenis.

Aanbeveel: