In C + + programmeren , een klasse is een datastructuur die een set eigenschappen die zowel gegevens en functies kunnen bevatten definieert . Overerving maakt een soort van klasse , genaamd de afgeleide klasse , om sommige of alle van zijn eigenschappen gedefinieerd door een andere klasse , genaamd de basisklasse hebben . Er zijn vier belangrijke soorten van overerving relatie in C + + : enkelvoudige , meervoudige , hiërarchische en multilevel , hoewel deze kunnen worden gecombineerd tot een vijfde soort zogenaamde hybride erfenis . Single Inheritance Single erfenis is de eenvoudigste vorm van overerving structuur tussen C + + klassen . In een enkel overervingshiërarchie , een afgeleide klasse erft de eigenschappen van een basisklasse . Dit is een eenvoudige verhouding waarin de afgeleide klasse is een deelverzameling van de basisklasse . Een voorbeeld waarbij enkelvoudige overerving zou kunnen worden gebruikt is met een basis klasse met de naam Boek , die de titel van een boek , genre , enz. Een afgeleide klasse kan genoemd LibraryBook , die zou worden omschreven als een boek met de extra eigenschap van een vervaldatum bestaan . Multiple Inheritance Meervoudige overerving is een wat geavanceerder type overerving waarbij een afgeleide klasse afgeleid eigenschappen van twee of meer base classes . Zo zou de klasse met de naam Person worden gedefinieerd om iemands naam , geboortedatum , enz. te houden , en een andere klasse genaamd Werknemer kan worden gedefinieerd om een werknemer salaris , werkgever , pakket secundaire arbeidsvoorwaarden , etc. Houd Een afgeleide klasse genaamd webdesigner kon tekenen eigenschappen van zowel de persoon en Employee base klassen om zowel biografische en werkgelegenheid informatie opslaan over webdesigners . Hiërarchisch Inheritance Hiërarchisch erfenis is het tegenovergestelde van meerdere overerving . In plaats van een afgeleide klasse tekening op meerdere base classes , een basisklasse bevat eigenschappen voor meerdere afgeleide klassen . Een voorbeeld van waar hiërarchische erfrecht kan worden gebruikt is een sport statistieken bijhouden programma . Een basisklasse genoemd Player kan de naam van een speler , leeftijd , team , etc. Afgeleid klassen genaamd BaseballPitcher , BaseballShortstop , FootballLineman , etc. op te bergen kan al leiden de basiseigenschappen van een speler uit de basisklasse en elke voeg een andere set van eigenschappen aan bijhouden van de statistieken aan dat sport en positie . Multilevel Inheritance Multilevel erfenis relevant , zoals de naam al doet vermoeden , bestaat uit een erfenis hiërarchie die optreedt wanneer een klasse erft de eigenschappen van een andere klasse die is zelf een afgeleide klasse van een derde klasse . Bijvoorbeeld , een basisklasse genoemd boek kunnen eigenschappen die de titel slaan , uitgever , etc. hebben een boek . Een afgeleide klasse LibraryBook kunnen eigenschappen van boeken ontlenen , terwijl het toevoegen van nieuwe eigenschappen zoals vervaldatum . Een ChildrensSection klasse , op hun beurt , kunnen eigenschappen van LibraryBook afleiden tijdens het toevoegen van eigenschappen die specifiek zijn voor een boek uit de kinderafdeling , zoals illustrator . |