Er private medlemmer av basisklassen alltid arvet i avledet klasse i C++? Jeg pleide å se over alt at private medlemmer av basisklassen aldri arves i avledet klasse, uansett hvordan du arver basisklassen (privat eller beskyttet eller offentlig).
Kan et privat klassemedlem arves?
Private medlemmer i en superklasse
A underklasse arver ikke de private medlemmene i foreldreklassen. Men hvis superklassen har offentlige eller beskyttede metoder for å få tilgang til sine private felt, kan disse også brukes av underklassen.
Hvordan arver du private medlemmer av basisklassen i C++?
Med privat arv blir offentlig og beskyttet medlem av basisklassen private medlemmer av den avledede klassen. Det betyr at metodene til basisklassen ikke blir det offentlige grensesnittet til det avledede objektet. De kan imidlertid brukes i medlemsfunksjonene til den avledede klassen.
Hva er forskjellen mellom privat og beskyttet arv?
beskyttet arv gjør de offentlige og beskyttede medlemmer av basisklassen beskyttet i den avledede klassen. privat arv gjør de offentlige og beskyttede medlemmene av basisklassen private i den avledede klassen.
Når arven er privat er den private metoden i grunnklassen?
Når arven er privat, er de private metodene i baseklasse er utilgjengelige i den avledede klassen (i C++). For mer informasjon om arv Se: Arv i C++ Alternativ (A) er korrekt.