Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> C /C + + Programming >> Content
    Redefinere metoder i C + +
    Under vanlige omstendigheter , metoder i C + + kan ikke dele et navn. Dette fører til feil ved å innføre mulighet for forveksling inn i metode referanser. En programmerer som ønsker å bruke samme navn for en metode , men omdefinere som metode basert på ulike parametre , har to alternativer. Programmereren kan overbelaste funksjonen ved å bruke det samme navnet , men å endre argumentene til metoden. Også, hvis programmereren ved hjelp av en avledet klasse han eller hun kan overstyre en funksjon av en base for å klasse utføre forskjellige funksjoner. Overbelastning Metoder

    Når en programmerer erklærer en metode , som navnet vanligvis ikke kan utpeke en annen metode med forskjellig kode inni den. Utelukkelse til dette er når argumentene til metoden forskjellig. For eksempel kan en programmerer definerer metoden "beregn " for å ta et heltall som argument : en

    int beregne ( int x )

    Ifølge reglene i C + +, en annen metode som heter "beregn " som tar et helt tall som argument ikke kunne eksistere , uavhengig av den kode i metoden. Men , kan en annen metode med samme navn og ulike argumenter finnes:

    int beregne (double x )

    type eller argument når metoden kalles vil avgjøre hvilken metode som utfører
    .
    Begrensninger

    Begrensninger eksisterer om hvordan metoden overbelastning fungerer i C + + . For å overbelaste en metode navn, må argumentene bruke ulike datatyper , eller skiller seg i mengden av argumenter utpekt . Metoder som returnerer ulike verdier , men deler et navn og identisk argument liste , er ikke tillatt i C + + . Metoder med identiske navn og argumenter som bare avviker på grunn av en annen type navn ( eller gi en eksisterende datatype et annet navn ) er heller ikke tillatt . For eksempel : en

    typdef int fake_int ;

    int write ( int x )

    dobbel write ( int x )

    int write ( fake_int x )

    Ingen av disse tre metodedefinisjoner følge reglene for metoden overbelastning og vil returnere en feil .
    Utledning

    en annen måte å overbelaste en metoden er gjennom klasse avledning . Ved bygging av klasse , kan en programmerer lage en klasse arver funksjonalitet fra en annen klasse. Den arve ( avledet ) klasse kan bruke metodene i klassen den arver fra (base klasse) . En base klasse (klasse X ) kunne ha en metode "print" definert. En annen klasse (klasse Y ) som stammer fra klasse X har også tilgang til å skrive ut . Imidlertid kan klasse Y også definere sin egen versjon av print-metoden. I dette tilfellet vil utskriften metoden henrettet være som fastsatt i klasse Y, med mindre programmereren angir at klassen X versjon av print skal utføre .
    Eksempler

    et eksempel på en metode redefinert gjennom en avledet klasse inneholder to klasser. Først base klassen : en

    klasse First (

    offentlig : en

    int x ;

    int returnX ( ) {

    retur x ;

    }

    };

    Deretter en avledet klasse som redefinerer " returnX ( ) "-metoden : en

    klasse Second : public Først {

    offentlige : en

    int returnX ( ) {

    avkastning x 1 ;

    }

    };
    < p > den " andre "-klassen har tilgang til variabelen " x " og metoden " returnX ( )" som er en del av " First" -klassen. Men redefinerer Second den returnX ( )-metoden i sin egen definisjon . Dette betyr at når et objekt av klassen Second kaller returnX ( )-metoden , vil returverdien være x 1 .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan bruke en Switch sak med Ranges i C + + 
    ·Hvordan programmere Cocoa på en iPhone 
    ·Hvordan å manipulere strenger i MFC 
    ·Hvordan du redigerer Silverlight datarutenett 
    ·Hvordan du formaterer tekst i Win32 programmering 
    ·Hvordan bruke Kommandolinjeparametre i C + + 
    ·Hvordan lage et rektangel med en rekursiv funksjon i C …
    ·Hvor å Fastsette C + + Error R6002 
    ·Hva er forskjellen på en analog inngang Control & en D…
    ·Hvordan bruke funksjonspekere i en Binary Search Argume…
      Anbefalte artikler
    ·Hvordan lage en Pass Parameter Query Tilgang i VBA 
    ·Hvordan Plasser Omadresser Kode på PHP 
    ·Hvordan få tilgang til en CB Medlemskap nivå i PHP 
    ·Hvordan skrive kode for å lage en sirkel klasse 
    ·Hva er Python 2.4.3 
    ·VBA koding triks 
    ·Hvordan bruke en matrise til Transform objekter i VB.NE…
    ·Hvordan finne buffer overflow 
    ·Hvordan lage en database i VB.Net 
    ·Hvordan lage en knapp Åpne i Facebox Lightbox 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/