En funksjon i C /C + + språk er en prosess for å oppnå noen mål . Kjernen syntaks og mekanismen av en C + + program arver grunnleggende regler i den opprinnelige C-språk , og bygger på den. Definere funksjonen i en C + + gjenstand eller som en global funksjon; kalle funksjonen med verdier for hver parameter definert . Argumenter til funksjoner
Definer en liste over variabler som parametere til funksjonen. Disse kalles " argumenter. " Du kan også definere en funksjon uten parametre i det hele tatt : en
ObjectO :: FunctionF ( int arg1 , røye * arg2 , dobbel arg3 ) { //Funksjon Body //. utfallet varierer med argumentverdier }
Manglende argumenter
C + + gjør at du kan kalle en funksjon uten sine definerte argumenter. Dette fører ikke til en kompilering , link -eller run -time feil . I dette tilfellet bruker funksjonen standardverdier for argumentene på run-time . Gi standardverdier for argumenter akkurat der og da : en
void myFunction (dobbel d_arg = 0,0 ) { if ( d_arg == 0.0 ) ... annet ... }
funksjon Overbelastning
p Dette er en veldig spesiell funksjon i C + + . Du kan " overload" en eksisterende funksjon definisjon med en annen. Funksjonen navn forblir den samme , men argumentet listen er annerledes. Bruk denne funksjonen til overbelastning standard biblioteket funksjoner også, men bare når det er nødvendig : en
f.eks int myFunction ( int a) ; int myFunction ( int a, double b ); int myFunction ();
Her forteller syntaksen til funksjon samtale kompilatoren som myFunction å plukke opp. Hvis du ikke passerer noen argumenter , er den tredje plukket opp . Hvis funksjonen samtalen ser slik ut: " r_val = myFunction ( 12 )," da kompilatoren bruker andre definisjonen
gi standardverdier for argumenter , som vist i kapittel 2, er en snarvei metode for . funksjon overbelastning , men det fungerer bare i enkle tilfeller
overbelastning Object Constructors
den virkelige kraften i funksjon overbelastning i C + + er i konstruktøren overbelastning . . Definere konstruktøren av et objekt i to eller flere måter. Med andre ord , la den som ringer å opprette objektet på forskjellige måter av ulike grunner - som bakoverkompatibilitet , mobilitet eller fleksibilitet . Constructor for objekt MyObject heter " MyObject ( ) . " For eksempel : en
class date { int dag, måned , år ,
public : void dato ( char * c_date ) ; void dato ( int mm , int dd, int åå ) ; void date () ;
...
}
i den eldre versjonen av denne programvaren , den " Date " objektet ble opprettet ved hjelp av en streng inn av brukeren . I den neste utgivelsen , ble måned, dag og år gått separat for å unngå stive format sjekking. Per dato for offentliggjøring , trenger programmerere ikke stole på brukeren i det hele tatt , men gå og hente eller beregne datoen bruker systemet klokke, i prosessen med å lage den "Dato" objekt. Opprette objektet i programmet : en
Metode A: date ( "10.10.2011 "); Metode B : dato ( 10, 10 , 2011 ) ; Metode C : date () ;
p Hvis du er kjent med den eldre versjonen av denne programvaren , og kommer over en bruker program som kaller date uten argumenter , kan du være forvirret med hensyn til hvordan kompilatoren tillatt det. Forklaringen er funksjonen overbelastning .