| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> C /C + + Programming >> Content
    Omdefiner Metoder i C + +
    Under typiske omstændigheder metoder i C + + kan ikke dele et navn. Dette forårsager fejl ved at indføre mulighed for forveksling i metode referencer. En programmør , der ønsker at bruge det samme navn for en metode, men omdefinere denne metode baseret på forskellige parametre , har to muligheder . Programmøren kan overbelaste den funktion ved at bruge samme navn, men ændrer de argumenter af metoden. Også, hvis programmøren bruger en afledt klasse , han eller hun kan tilsidesætte en funktion af en base klasse til at udføre forskellige funktioner. Overbelastning Metoder

    Når en programmør erklærer en metode , dette navn normalt ikke kan udpege en anden metode med anden kode inde i det. Udelukkelsen til dette er, når argumenterne fra metoden forskellige. For eksempel kan en programmør definere metoden "Beregn " for at tage et heltal som argument : Hej

    int beregne ( int x )

    Ifølge reglerne for C + +, anden navngiven metode " beregne ", som tager et heltal som argument ikke kunne eksistere , uanset kode inde metoden . Men kunne en anden metode med samme navn og forskellige argumenter eksisterer : Hej

    int beregne (dobbelt x )

    type eller argument , når metoden kaldes ville beslutte, hvilken metode udfører
    .
    Begrænsninger

    findes der begrænsninger for, hvordan metoden overbelastning virker i C + +. For at overbelaste en metode navn, skal argumenterne bruge forskellige datatyper eller forskellige i mængden af udpegede argumenter. Metoder , der returnerer forskellige værdier , men deler et navn og identisk argument listen , er ikke tilladt i C + +. Metoder med identiske navne og argumenter, der kun adskiller sig på grund af en anden type navn ( eller give et eksisterende datatype et andet navn) er heller ikke tilladt . For eksempel : Hej

    typdef int fake_int ,

    int skrive ( int x )

    double skrive ( int x )

    int skrive ( fake_int x ) < br >

    Ingen af ​​disse tre metode definitioner følger reglerne for metoden overbelastning og vil returnere en fejl.
    Udledning

    anden måde at overbelaste en metoden er gennem klasse afledning . Ved etablering af klasse kan en programmør lave en klasse arver funktionalitet fra en anden klasse . Den arve (afledt ) klasse kan bruge de metoder fra klassen den arver fra (base klasse) . En base klasse ( class X) kunne have en metode "print" defineres. En anden klasse (klasse Y ), som stammer fra klasse X har også adgang til at udskrive. Imidlertid kunne klasse Y også definere sin egen version af print-metoden . I dette tilfælde vil print henrettet metode være den er defineret i klassen Y, medmindre programmøren angiver , at klassen X version af print bør udføre.
    Eksempler

    et eksempel på en metode, omdefineret gennem en afledt klasse involverer to klasser . Første, basisklassen : Hej

    class Første (

    offentligt : Hej

    int x ;

    int returnX () {

    afkast x ;

    }

    };

    Derefter en afledt klasse, der omdefinerer " returnX () "-metoden : Hej

    klasse Second : public First {

    offentlig : Hej

    int returnX () {

    tilbagevenden x +1

    }

    };
    < p > den " Second " klasse har adgang til variablen "x" og metoden " returnX () ", der er en del af den "første" klassen. Men Second omdefinerer returnX ()-metoden i sin egen definition. Dette betyder, at når et objekt af en klasse Second kalder returnX () metode, vil returværdien være x +1 .

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan bruges Memset Funktion i C + + 
    ·Sådan bruges en Basic Date Picker Med GridView 
    ·Sådan bruges 2D objekter i CPP 
    ·Sådan slettes en C + + Corrupt Heap 
    ·Sådan Aggregerede Vector Funktioner 
    ·Hvordan man opbygger en Progress Bar i XCode 
    ·Sådan får du adgang en USB-printer Mens Programmering…
    ·Sådan Skjule subview på en iPhone 
    ·Sådan Detect Blow af Mic på Xcode 
    ·Hvordan man skriver en Visual C program, der bruger en …
      Anbefalede Artikler
    ·Tutorial for ADODC Kontrol 
    ·Sådan Set attributter i Visual Basic 
    ·Hvordan man laver en liste over ordbøger i Python 
    ·MS Visual Studio Tools til Office 
    ·Sådan Find ud af, om en række eller kolonne er marker…
    ·Hvordan man skriver Oracle SQL-kode , som vil skabe Med…
    ·Sådan Læs fra en fil i Fortran 
    ·Sådan tilføjes en Combo Box et ord ad gangen i stedet…
    ·Hvordan laver Certifikater til Unsigned Android Apps 
    ·Hvordan du indstiller din Python Path 
    Copyright © Computer Viden http://www.computerdk.com