Hvordan å overbelaste en Pointer i C ++

Hvordan å overbelaste en Pointer i C ++


I alle programmeringsspråk, kan det språket du å overbelaste en operatør allerede forhåndsdefinert sted innenfor kompilatoren. Operatør overbelastning er, enkelt sagt, redefinerer hva en operatør gjør. Et eksempel ville være å overbelaste pluss "+" tegn, og i stedet definere det å returnere forskjellen på to verdier i stedet for summen. Ved å omdefinere hva plusstegnet gjør det, har du overbelastet operatør i et programmeringsspråk. De fleste språk har pekere, som i hovedsak er et sted i minnet som peker til den faktiske verdien i stedet for å holde verdien i at minnestedet selv.

Bruksanvisning

1 Definer funksjonen for å overbelaste operatøren. Definisjoner er gjort i ".h" header fil. Når du deklarerer klassen objekt, vil du erklære alle funksjonene i klassen. Hvis du overbelaste en operatør, vil du erklære at funksjonen her. I C ++, for eksempel:

MyClassObject operatør -> (konst MyClassObject & classObject)

2 Definer overbelastet operatørens funksjon. Dette gjøres i "CPP" kildefilen. Etter at du har erklært en funksjon i en header-fil, må du deklarere funksjonen i kildefilen. Dette forteller programmet hva du skal gjøre når du ringer denne funksjonen. I C ++, for eksempel:

MyClassObject MyClassObject :: operator -> (konst MyClassObject & classObject) {

tilbake MyClassObject (* dette);

}

3 Bruk pekeren i kode. Etter at du har overbelastet at føreren kan gjøre hva du vil, kan du bruke den operatøren i kode. Det foregående trinnet viser operatøren å fungere som en vanlig operatør. Men hvis du hadde overbelastet "->" operatøren å gjøre en sum, kan du skrive 3 -> 4 i programmet og få en resulterende verdi på 7.