136
Przeciążanie operatorów jest bardzo istotną techniką. Pozwala na zwiększenie czytelności kodu, lecz może dawać przy tym bardzo istotne efekty uboczne, niektóre korzystne, a niektóre nie.
Różnica między operatorami przedrostkowymi a przyrostkowymi
kompilowanie kodu
Kod źródłowy
T*operator++(void) //Przedrostkowy
{
return (T *)PvAt(++m_it);
}
T*operator++(int) //Przyrostkowy
{
return (T *)PvAt(mJt++);
}
W przeciwieństwie do innych operatorów, operatory zwiększenia (++) i zmniejszenia (—) o 1 mogą być zastosowane zarówno w postaci przedrostkowej, jak i przyrostkowej. W wypadku przeciążania tych operatorów można zdefiniować tylko operacje przedrostkową, tylko operację przyrostkową lub obie na raz. Ogólnie, gdy przeciążamy jedną z tych operacji, wówczas powinniśmy przeciążyć również drugą, aby uniknąć pomyłek.
Pierwsza przykładowa definicja operatora w kodzie źródłowym przeciąża operację przedrostkową. Druga natomiast — operację przyrostkową. Zwróćmy uwagę na to, że parametr int operatora przyrostkowego nie został nigdzie użyty.
Przykład: operator ++ w pliku drg.h
Ostrożność przy przeciążaniu operatorów
unikanie nieoczekiwanych wyników
Operatory są bardzo istotnym elementem. Ponieważ są wbudowane w język programowania, programiści często oczekują od nich określonego zachowania. Przeciążenie operatorów może jednak to zachowanie zmienić, a to czasem prowadzi do pomy-
Wyszukiwarka
Podobne podstrony:
1) MPEG-4 jest nowoczesną i wysokowydajną techniką, pozwalającą na przesyłanie coObecnie na rynku znajduje się wiele podkładów o różnej kolorystyce, co jest bardzo istotne ze względInstrukcja G - 4: Pomiar sytuacyjny jest to zespół czynności technicznych pozwalających na określeniProducent - funkcie: 0 Projektowanie - już na tym etapie to jest bardzo istotne 0 Wykonywanie. - kto4 (1129) 112 Na pierwszy plan wybijają się cechy częste. Wśród nich panują, co jest bardzo istotne,Mikroskopowe określanie składu ziarnowego Metoda mikroskopowa jest techniką pozwalającą na obserwacjJak duży wpływ ma horror/ jako gatunek/ na waszą muzykę? jest dla mnie bardzo istotny ze względu naMetoda PCR (Polymerase Chain Reaction) jest hard/o czułą i wydajny techniką pozwalającą na szybantygeny lipidowe jest bardzo mało poznana. Wiadomo na pewno, że za odpowiedź przeciwnowotworową odpKlonowanie DNA jest metodą pracy z DNA pozwalającą na otrzymanie milinów identycznych kopii cząstecznew 90 184 7. Zasady obliczeń wytrzymałościowych śrub Warunek ten jest bardzo istotny, szczególnie d12851 Zdjęcie0169 (12) Istota dziedziczeniaDziedziczenie to technika pozwalająca na definiowanie nowWady i zalety Zalety: 9 Bardzo prosty algorytm 9 Pozwala na dowolne zdefiniowanie funkcji odległościIMGy49 Jest wiele wystandaryzowanych testów pozwalających na ocenę percepcji wzrokowej, które dają m136 ROZMOWY Cz. M.: To koszmar! Poza tym w polskiej literaturze jest bardzo niezdrowa sytuacja. PropFunkcja kompensacyjna jest bardzo istotną funkcją świetlicy: zmierza ona do wyrównywania różnicwięcej podobnych podstron