Ar išvestinė klasė paveldi konstruktorių?
Ar išvestinė klasė paveldi konstruktorių?

Video: Ar išvestinė klasė paveldi konstruktorių?

Video: Ar išvestinė klasė paveldi konstruktorių?
Video: How Constructors Work With Inheritance | C++ Tutorial 2024, Lapkritis
Anonim

Į paveldėjimo , išvestinė klasė paveldi visi bazės nariai (laukai, metodai). klasė , bet išvestinė klasė negali paveldėti į konstruktorius pagrindo klasė nes konstruktoriai nėra nariai klasė.

Taip pat žmonės klausia, ar klasės paveldi konstruktorius?

Konstruktoriai nėra paveldėtas . Juos vaikas netiesiogiai arba tiesiogiai vadina konstruktorius . Kompiliatorius sukuria numatytąjį konstruktorius (be argumentų) ir numatytąją kopiją konstruktorius (su argumentu, kuris yra nuoroda į tą patį tipą). ATNAUJINIMAS: C++11, konstruktoriai gali būti paveldėtas.

Be to, kas yra konstruktorius išvestinėje klasėje? A Išvestinis klasės konstruktorius turi prieigą tik prie savo klasė nariai, bet a Išvestinė klasė objektas taip pat turi paveldėtas bazės nuosavybė klasė , ir tik bazė klasės konstruktorius gali tinkamai inicijuoti bazę klasė nariai. Taigi visi konstruktoriai yra vadinami, kitaip objektas nebūtų tinkamai sukonstruotas.

Be to, ar konstruktoriai ir naikintojai gali būti paveldimi?

Išvestinės klasės daryti ne paveldėti arba perkrova konstruktoriai arba naikintojai iš savo bazinių klasių, bet jie daryti skambinkite konstruktorius ir destruktorius bazinių klasių. Konstruktoriai taip pat iškviečiami, kai sukuriami vietiniai arba laikini klasės objektai, ir naikintojai iškviečiami, kai vietiniai arba laikini objektai išeina iš taikymo srities.

Kuris konstruktorius paveldėjimo metu vadinamas pirmuoju?

Konstruktorius ir naikintojas viename paveldėjimo Bazinė klasė konstruktoriai yra paskambino pirmas ir išvestinė klasė konstruktoriai yra paskambino kitas viename paveldėjimo.

Rekomenduojamas: