Przeładowanie operatorów jednoargumentowych
Operatory jednoargumentowe, które mogą być przeciążone, są następujące:
!(logiczne nie)
&(adres z)
++(przyrostu)
--(zmniejsza)
operatory konwersji
Operatory inkrementacji i dekrementacji przyrostkowej (++ i --) są omówione oddzielnie w części Inkrementacja i dekrementacja.
Operatory konwersji zostały również opisane w temacie oddzielne; zobacz Konwersje.
Następujące reguły są prawdziwe dla wszystkich innych operatorów jednoargumentowych.Aby zadeklarować funkcję operatora jednoargumentowego jako niestatyczny element członkowski, należy zadeklarować ją w postaci:
ret-type operatorop**()**
gdzie ret-type jest typem zwracanym, a op jest jednym z operatorów wymienionych w powyższej tabeli.
Aby zadeklarować funkcję operatora jednoargumentowego jako funkcję globalną, należy zadeklarować ją w postaci:
ret-type operatorop (arg )
gdzie ret-type i op są opisane dla funkcji operatora elementu członkowskiego, a arg jest argumentem typu klasy, na którym będą wykonywane.
[!UWAGA]
Nie ma żadnych ograniczeń pod względem typów zwracanych operatorów jednoargumentowych.Na przykład, dla logicznego NIE (!) ma sens zwracanie wartości całkowitoliczbowej, ale nie jest to wymuszone.