Onder normale omstandigheden , methoden in C + + kan een naam niet delen . Dit zorgt ervoor dat fouten door de invoering van de mogelijkheid van verwarring in de methode referenties . Een programmeur dat wil dezelfde naam voor een werkwijze , maar deze methode definiëren op basis van verschillende parameters , heeft twee opties . De programmeur kan de functie overbelasting door het gebruik van dezelfde naam , maar het veranderen van de argumenten van de methode . Ook , als de programmeur gebruikt een afgeleide klasse kan hij of zij een functie van een basisklasse overschrijven verschillende functies . Overbelasting Methoden Zodra een programmeur verklaart een methode , die naam meestal niet kan aanwijzen andere methode met verschillende code erin . De uitsluiting hierop is bij de argumenten van de methode verschillen . Int berekenen ( int x ) op Volgens de regels van de C + + , een andere methode genaamd " berekenen: Bijvoorbeeld , kan een programmeur de methode " berekenen "om een geheel getal te nemen als argument definiëren "dat een geheel draait als argument kan bestaan , ongeacht de code in de methode . Maar , zou een andere methode met dezelfde naam en de verschillende argumenten bestaan : int berekenen ( double x ) op Het type of argument wanneer de methode wordt aangeroepen zou beslissen welke methode uitvoert . Beperkingen Beperkingen bestaan over hoe methode overbelasting werkt in C + + . Om overbelasting naam van een methode , moeten de argumenten van verschillende data types te gebruiken , of verschillen in de hoeveelheid argumenten aangewezen . Methoden die verschillende waarden terugkeren, maar delen een naam en identieke lijst met argumenten , zijn niet toegestaan in C + + . Methoden met identieke namen en argumenten die alleen verschillen omdat van een ander type naam ( of het geven van een bestaand datatype een andere naam ) zijn ook niet toegestaan . Bijvoorbeeld : typdef int fake_int ; int write ( int x ) dubbele schrijfsnelheid ( int x ) int write ( fake_int x ) < br Geen van deze drie methodedefinities > volg de regels van de methode overbelasting en zal een foutmelding terug . Afleiding andere manier om overbelasting van een methode is door middel van klasse afleiding . Bij de bouw van de klas , kan een programmeur een klasse erft functionaliteit van een andere klasse . De erven ( afgeleide ) klasse kan gebruik maken van de methoden van de klasse waar het van erft ( base class ) . Een base class ( klasse X ) zou hebben een methode "print " gedefinieerd . Een andere klasse ( klasse Y ) , die is afgeleid van de klasse X heeft ook toegang tot afdrukken . Echter , kon klasse Y ook een eigen versie van de afdruk methode definiëren . In dit geval zal de afdruk -methode uitgevoerd degene gedefinieerd in klasse Y te zijn , tenzij de programmeur bepaalt dat de klasse X-versie van de afdruk moet worden uitgevoerd . Voorbeelden een voorbeeld van een werkwijze geherdefinieerd door een afgeleide klasse omvat twee klassen . Ten eerste , de basisklasse : klasse Eerste ( publiek : int x ; int returnX ( ) op { return x ; } } ; dan , een afgeleide klasse die het herdefinieert " returnX ( ) " methode: klasse Tweede : publieke Eerste { openbare : int returnX ( ) { return x 1 ; } } ; de "Second " klasse heeft toegang tot de variabele " x " en de volgende " returnX ( ) " die deel uitmaken van de " First " class . Maar tweede herdefinieert de returnX ( ) methode een eigen definitie . Dit betekent dat bij een object van de klasse Tweede noemt de returnX ( ) -methode , zal de return waarde x 1 .
|