Udostępnij za pośrednictwem


Przeładowanie operatorów jednoargumentowych

Operatory jednoargumentowe, które mogą być przeciążone, są następujące:

  1. !(logiczne nie)

  2. &(adres z)

  3. ~(osoby dopełnienia)

  4. *(wskaźnik cofnięcia odwołania)

  5. +(plus jednoargumentowy)

  6. -(negacji jednoargumentowy)

  7. ++(przyrostu)

  8. --(zmniejsza)

  9. 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.

Zobacz też

Informacje

Przeładowanie operatora