Video: Platicamos sobre la ALINEACIÓN OPERATIVA para lograr los objetivos estratégicos 2025
Datatypene innebygd er bygd inn i C ++-språket, for eksempel int , float , og dobbelt og de forskjellige pekertypene. C + + gjør at programmereren kan definere operatørene for klasser som programmereren har opprettet i tillegg til disse inneboende operatørene. Dette kalles operatør overbelastning.
Overbelastning av operatør er normalt valgfritt og ikke forsøkt ved å starte C ++-programmerere. Mange erfarne C ++-programmerere tror ikke at operatør overbelastning er en så god idé heller. Du må imidlertid lære å overbelaste en operatør: oppdragsoperatøren.
En operatør er ikke noe mer enn en innebygd funksjon med en merkelig syntaks. Følgende tilleggsoperasjon
a + b
kan forstås som om den var skrevet
operator + (a, b)
Faktisk gir C ++ hver operatør et funksjonsstilnavn. Operatørens funksjonelle navn er operatør-symbolet foran søkeordoperatøren og etterfulgt av passende argumenttyper. For eksempel, operatøren + som legger til en int til en int genererer en int kalles int operator + (int, int).
Enhver eksisterende operatør kan defineres for en brukerdefinert klasse. Dermed kunne jeg lage en kompleks operatør * (const kompleks og const kompleks &) som ville tillate meg å formere to objekter av typen kompleks . Den nye operatøren kan ha samme semantikk som operatøren overbelaster, men det trenger ikke. Følgende regler gjelder når overbelastning av operatører:
-
Programmereren kan ikke overbelaste . (punkt), :: (kolon), . *, * ->, sizeof og ?: (ternær) operatører.
-
Programmereren kan ikke oppfinne en ny operatør. For eksempel kan du ikke finne opp driften x $ y .
-
Operatørens syntaks kan ikke endres. Dermed kan du ikke definere en operasjon% jeg fordi% allerede er definert som en binær operatør.
-
Operatørens forrang kan ikke endres. Et program kan ikke tvinge operatør + til å bli vurdert før operatøren * .
-
Operatørene kan ikke omdefineres når de brukes til ekte typer - du kan ikke endre betydningen av 1 + 2. Eksisterende operatører kan kun overbelastes for nylig definerte typer.
Overloading operatører er en av de tingene som virker som en mye bedre ide enn det egentlig er. Vanligvis innfører operatøroverbelastning flere problemer enn det løser.
