Ärvs privata medlemmar av basklassen alltid i härledd klass i C++? Jag brukade se överallt att privata medlemmar av basklassen aldrig ärvs i härledd klass, oavsett hur du ärver basklassen (privat eller skyddad eller offentlig).
Kan en privatklassmedlem ärvas?
Privata medlemmar i en superklass
A underklass ärver inte de privata medlemmarna i sin förälderklass. Men om superklassen har offentliga eller skyddade metoder för att komma åt sina privata fält, kan dessa även användas av underklassen.
Hur ärver du privata medlemmar i basklassen i C++?
Med privat arv blir offentlig och skyddad medlem av basklassen privata medlemmar av den härledda klassen. Det betyder att metoderna för basklassen inte blir det offentliga gränssnittet för det härledda objektet. De kan dock användas i medlemsfunktionerna för den härledda klassen.
Vad är skillnaden mellan privat och skyddat arv?
skyddat arv gör offentliga och skyddade medlemmar av basklassen skyddade i den härledda klassen. privat arv gör de offentliga och skyddade medlemmarna i basklassen privata i den härledda klassen.
När arvet är privat är den privata metoden i basklassen?
När arvet är privat, de privata metoderna i basenklass är otillgängliga i den härledda klassen (i C++). För mer information om arv Se: Arv i C++ Alternativ (A) är korrekt.