78 10. Przeciążanie operatorów
pocz[i] += b.pocz[i];
Metodę tę wywołujemy następująco: a.Dodaj(b);
gdzie a i b są obiektami klasy Wektor.
Przypomnijmy sobie, jaką operację realizuje metoda Dodaj(). Otóż metodę Dodaj() można by zapisać następująco:
void Wektor::Dodaj(Wektor b)
{
int i;
for (i=0; i<this->liczba; i++) this->pocz[i] += b.poczCi];
Zmiana jaka nastąpiła, to jawne dodanie wskaźnika tliis wskazującego obiekt, na rzecz którego dana metoda została wywołana. Jeżeli zatem napiszemy:
a.Dodaj(b);
to wskaźnik tłiis wskazuje na obiekt a. Realizowana operacja zaś to: a = a + b;
A w skróconym zapisie: a += b;
Warto się zastanowić, czy nie byłoby sensownie zastąpić metodę Do-daj() po prostu operatorem +=. Nie potrzeba wtedy |>amiętać ja kij operację realizuje metoda Dodaj(). W języku C++ wystarczy zdefiniować metodę o nazwie:
operator +=
i następującej treści (metodę definiujemy w klasie pochodnej):