C + +

, woorden, diversiteit, zijn er veel manieren.Meestal, polymorfisme plaatsvindt, is er een soort hiërarchie en hun erfenis, C + + polymorfisme betekent dat de functie van de uitvoering van de verschillende functies zal leiden tot de afhankelijk van het voorwerp, de aard van de functie, met het volgende rekening, een basis die reeds door andere twee van die klasse, met inbegrip van:&#< hoe een bibliotheek > met behulp van namespace SOA; Vorm {bescherming: breedte, lengte; de vorm (int: a = 0, b = 0) (breedte = een; hoogte = b;} int gebied () {cout < < gebied: "vader" < < endl; terugkeer 0;}}; rechthoekig: openbare vorm van rechthoekige (int (publiek: a = 0, b = 0)De vorm (A, b) {}) (int de rechtbank < < regio 's: "of" < < endl; terugkeer (breedte *);}}; driehoek vormen: de vorm van de driehoek (int (publiek: a = 0, b = 0): vorm (A, b) {}) (int de rechtbank < < "DELTA" < regio' s: klasse < endl; terugkeer (breedte * /2);}}; de belangrijkste /de voornaamste functie int () {* * * * * * * de vorm van rechthoekige vorm; (, 10, 7); de driehoek (10,5); ///////opslag rechthoekige = & adres; overw; ///////roept de andere regio 's.- een vorm van > ///////opslag (); de driehoek = & adres; ///////3; roept de driehoek.Vorm - > Area (); terugkeer 0;}, als de code wordt opgesteld en uitgevoerd, kan leiden tot de volgende resultaten: ouder ouder klasse van regio 's op het gebied van de produktie, de verkeerde redenen, een oproep die de functie van (een) door de in de basis van de versie van de definitie.Dit is de zogenaamde statische oplossing van een functie of statische verbonden aan de uitvoering van het programma voor deze functie is vastgesteld.Dat wordt soms aangeduid als, het begin van een bindende, omdat de programma 's (functie) in het proces van opstelling, maar voor nu, laten we in onze programma' s gewijzigd, in de vorm van categorie en het sleutelwoord, een verklaring dat het virtuele, (de) ziet er als volgt uit:, Vorm {bescherming: breedte, lengte; de openbare vorm (int: a = 0, b = 0) (breedte = een; hoogte = b;}: virtuele functie () {cout < < regio 's: "vader" < < endl; terugkeer 0;}}, dat enigszins is gewijzigd; na de in de voorgaande voorbeelden van de de code is opgesteld en wordt uitgevoerd, zal leiden tot de volgende resultaten: rechthoekige driehoek, met in totaal, deze keer.De inhoud van de mpiler zie aanwijzingen in plaats van het type.Dus, aangezien de drie - en opslag van voorwerpen van klasse adres in hun gebied (*) vorm van de functie is, zoals je kan zien, de functie van elk van deze categorieën een afzonderlijk (uitvoering).Dit is hoe) voor algemeen gebruik.U heeft dezelfde naam van de functie van de verschillende categorieën, zelfs dezelfde parameters, maar verschillende uitvoering. Virtuele functie: een functie, virtuele, is het gebruik van belangrijke functies in de verklaring van de basis.Op basis van in de definitie van een virtuele functie, in een afgeleide is een andere versie, we willen niet dat de samensteller van statische link, wat we doen, wat we doen is op een bepaald punt in de procedure op basis van de functie van de aard van het voorwerp van de heet, heet het.Deze operatie is bekend als dynamische link, of laat gebonden, pure functie, met inbegrip van:, misschien wil je in de basis in die klas denkbeeldige functies kan voor dit soort voorwerpen, maar geen zinvolle definitie, kan je in de basis functioneren, kan op basis van een denkbeeldige functies (de volgende wijzigingen: vorm), (bescherming van klasse: breedte, lengte; de vorm (int: a = 0, b = 0) (breedte = een hoogte = b);; ///////denkbeeldige functies, een virtuele functie () = 0;}, = 0; de functie van de samensteller van niet op het lichaam, virtueel zou kaartenEen virtuele functie,.,



Previous:
Next Page: