Er private medlemmer af basisklassen altid nedarvet i afledte klasse i C++? Jeg plejede at se over alt, at private medlemmer af basisklassen aldrig nedarves i afledte klasse, uanset 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 medlemmer af sin overordnede klasse. Men hvis superklassen har offentlige eller beskyttede metoder til at få adgang til dens private felter, kan disse også bruges af underklassen.
Hvordan arver du private medlemmer af basisklassen i C++?
Med privat arv bliver offentligt og beskyttet medlem af basisklassen private medlemmer af den afledte klasse. Det betyder, at metoderne i basisklassen ikke bliver den offentlige grænseflade for det afledte objekt. De kan dog bruges i medlemsfunktionerne i den afledte klasse.
Hvad er forskellen mellem privat og beskyttet arv?
beskyttet arv gør de offentlige og beskyttede medlemmer af basisklassen beskyttet i den afledte klasse. privat arv gør de offentlige og beskyttede medlemmer af basisklassen private i den afledte klasse.
Når arven er privat, er den private metode i basisklassen?
Når arven er privat, er de private metoder i baseklasse er utilgængelige i den afledte klasse (i C++). For mere information om arv Se: Arv i C++ Mulighed (A) er korrekt.