Video: C++ Lenguaje de Programación - REVIEW COMPLETA en Español [Salario, Dificultad, Características] 2025
Datatyperne iboende er indbygget i C ++-sproget, f.eks. Int , float , og dobbelt og de forskellige pegertyper. C ++ gør det muligt for programmøren at definere operatørerne for klasser, som programmøren har oprettet ud over disse egentlige operatører. Dette kaldes operatør overbelastning.
Overbelastning af operatør er normalt valgfri og forsøges ikke ved at starte C ++ -programmerne. Mange erfarne C ++ -programmører tror ikke, at operatør overbelastning er en så god idé heller. Du skal dog lære at overbelaste en operatør: tildelingsoperatøren.
En operatør er intet mere end en indbygget funktion med en ejendommelig syntaks. Følgende tilføjelsesoperation
a + b
kunne forstås som om den var skrevet
operator + (a, b)
Faktisk giver C ++ hver operatør et funktionsstilnavn. Operatørens funktionelle navn er operatørsymbolet forud for søgeordsoperatøren og efterfulgt af de relevante argumenttyper. Eksempelvis er operatøren + , som tilføjer en int til en int, der genererer en int, kaldet int operator + (int, int).
Enhver eksisterende operatør kan defineres for en brugerdefineret klasse. Således kunne jeg oprette en Kompleks operator * (const Complex &, const Complex &), der ville tillade mig at formere to objekter af typen Complex . Den nye operatør kan have samme semantik som operatøren overbelaster, men det behøver ikke. Følgende regler gælder, når operatørerne overbelaster:
-
Programmøren kan ikke overbelaste . (punkt), :: (kolon), . *, * ->, sizeof og ?: (ternær) operatører.
-
Programmøren kan ikke opfinde en ny operatør. For eksempel kan du ikke opfinde operationen x $ y .
-
En operatørs syntaks kan ikke ændres. Således kan du ikke definere en operation% jeg fordi% allerede er defineret som en binær operatør.
-
Operatørens forrang kan ikke ændres. Et program kan ikke tvinge operatør + til at blive evalueret før operatøren * .
-
Operatørerne kan ikke omdefineres, når de anvendes på egentlige typer - du kan ikke ændre betydningen af 1 + 2. Eksisterende operatører kan kun overbelastes for nyligt definerede typer.
Overbelastning operatører er en af de ting, der virker som en meget bedre ide end det virkelig er. Normalt introducerer operatør overbelastning flere problemer, end det løser.