• Nie Znaleziono Wyników

Laboratorium 5 – Przeciążanie (przeładowywanie) operatorów

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium 5 – Przeciążanie (przeładowywanie) operatorów "

Copied!
1
0
0

Pełen tekst

(1)

Programowanie obiektowe, 2011

Urszula Libal

Laboratorium 5 – Przeciążanie (przeładowywanie) operatorów

Zad. 1

Napisz klasę Zespolona o prywatnych polach re i im. Dopisz konstruktor inicjujący wartości tych pól.

Zad. 2

Napisz zaprzyjaźnioną z klasą Zespolona metodę przeciążającą operator << tak, aby było możliwe wypisanie na ekran wartości liczby zespolonej np. w postaci "z = 2.5 + 1.3 i" za pomocą polecenia

cout<<z;

Dopuszczalny jest zapis "z = 2.5 + -1.3 i". Deklaracja w klasie może być postaci friend ostream& operator <<(ostream&, const Zespolona&);

lub

friend void operator <<(ostream&, const Zespolona&);

Proszę zwrócić uwagę, że metoda zaprzyjaźniona jest funkcją zewnętrzną dla klasy Zespolona, więc w definicji nie korzystamy z operatora zasięgu przenoszącego nas w przestrzeń nazw klasy Zespolona.

Zad. 3

W klasie Zespolona napisz metodę przeciążającą operator + tak, aby było możliwe dodanie dwóch liczb zespolonych następująco

z=z1+z2;

Zwrócony wynik też ma być w postaci liczby zespolonej, tzn. deklaracja w klasie będzie postaci Zespolona operator +(const Zespolona&);

Zad. 4

W klasie Zespolona napisz metodę przeciążającą operator += tak, aby było możliwe dodanie dwóch liczb zespolonych następująco

z1+=z2;

Zwrócony wynik też ma być w postaci liczby zespolonej, tzn. deklaracja w klasie będzie postaci Zespolona operator +=(const Zespolona&);

Zad. 5

W klasie Zespolona napisz metodę przeciążającą operator * tak, aby było możliwe mnożenie dwóch liczb zespolonych następująco

z=z1*z2;

Zwrócony wynik też ma być w postaci liczby zespolonej, tzn. deklaracja w klasie będzie postaci Zespolona operator *(const Zespolona&);

Pytania:

• Ile argumentów mają następujące operatory: << ! < == + - * && ++

• Co to znaczy, że operator jest lewostronnie łączny?

• Czy funkcja zaprzyjaźniona ma dostęp do prywatnych składowych zaprzyjaźnionej klasy?

• Czy funkcja zaprzyjaźniona jest składową zaprzyjaźnionej klasy?

Cytaty

Powiązane dokumenty

[r]

Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych. Informatyka stacjonarne-dzienne pierwszego stopnia z

W nawiasie jest wyra»enie, które ma warto±¢ 5 i jest interpretowane jako true (dowolna warto±¢ niezerowa jest interpretowana jako logiczne true). instrukcja b¦dzie wi¦c

Niezależna funkcja zaprzyjaźniona z kilkoma klasami ma dostęp do wszystkich składowych prywatnych i chronionych tych klas3. Sama funkcja nie nabywa

[r]

[r]

[r]

Atrybut ten definiujemy przy użyciu wartości liczbowych – czyli z ilu kolumn ma się składać komórka..