? I C + + -programmering , är en klass en datastruktur som definierar en uppsättning egenskaper som kan innehålla både data och funktioner . Arv kan en typ av klass som kallas härledd klass , att ha några eller alla av dess egenskaper som definierats av en annan klass , som kallas basklassen. Det finns fyra huvudsakliga typer av arv relation i C + + : singel , multipel , hierarkiskt och nivåer , även om dessa kan kombineras till en femte typ kallas hybrid arv . Single Arv
Single arv är den enklaste formen av arv struktur mellan C + + klasser . I en enda arvshierarkin , ärver en härledd klass egenskaper från en basklass . Detta är en okomplicerad relation där den härledda klassen representerar en delmängd av basklassen . Ett exempel där enda arv kan användas är en basklass som heter Book , som innehar en bokens titel , genre , etc. En härledd klass kunde existera kallas LibraryBook , som skulle kunna definieras som en bok med den ytterligare egenskapen av ett förfallodatum . Addera multipelt arv
Multipelt arv är en något mer avancerad typ av arv där en härledd klass härleder egenskaperna från två eller flera oädla klasser . Till exempel kan den klass som kallas Person definieras för att hålla en persons namn , födelsedatum , etc. , och en annan klass som heter Employee kunde definieras för att hålla en anställds lön , arbetsgivare , förmånspaket , etc. En härledd klass som heter webdesigner kunde dra egenskaper från både personen och anställda klasser bas för att lagra både biografiska och sysselsättningen information om webbdesigners .
Hierarkisk arv
hierarkiska arv är motsatsen till multipla arv. Istället för en härledd klass ritning på flera basklasser , ger en basklass egenskaper för flera härledda klasser . Ett exempel där hierarkiska arv kan användas är en sport statistik tracking program . En basklass som heter Player kan lagra en spelares namn , ålder , lag , etc. härledda klasser kallas BaseballPitcher , BaseballShortstop , FootballLineman , etc. kan alla härleda de grundläggande egenskaperna hos en spelare från basklassen och vart lägger en annan uppsättning egenskaper spåra den statistik som är relevanta för att idrott och position .
Multilevel arv
Multilevel arv , som namnet antyder , består av ett arv hierarki som uppstår när en klass ärver egenskaper från en annan klass som själv är en härledd klass från tredje klass . Till exempel , en basklass som heter Book skulle ha egenskaper som lagrar titel, förlag , etc. av en bok . En härledd klass LibraryBook kunde härleda egenskaper från bok samtidigt lägga till nya egenskaper som förfallodagen . En ChildrensSection klass , i sin tur , kunde härleda egenskaper från LibraryBook samtidigt lägga till egenskaper som är specifika för en bok från barnavdelningen som illustratör .