Funkcje zaprzyjaźnione
Uzupełnić klasę wektor3w o:
funkcję rowny sprawdzającą, czy dwa wektory są sobie równe
funkcję dlugmax wybierającą dłuższy z dwóch wektorów
funkcję umożliwiającą dodawanie wektorów
funkcję obliczającą iloczyn skalarny dwóch wektorów
W każdym przypadku należy rozważyć sposób implementacji powyższych funkcji:
funkcja składowej klasy vs. funkcja zaprzyjaźniona
sposób przekazywania argumentów do funkcji (wskaźnik, wartość, czy referencja)
sposób przekazywania obliczanych wartości funkcji (wskaźnik, wartość, czy referencja)
Zademonstrować możliwości klasy i napisanych funkcji w programie testującym:
odpowiednio podzielić kod na pliki źródłowe i nagłówkowe
wykorzystać program make wraz z odpowiednim plikiem makefile
funkcją zaprzyjaźnioną nazywamy funkcję, która nie jest składową klasy, a mimo to ma dostęp do składowych prywatnych
taką „deklarację przyjaźni” realizuje się z użyciem słowa kluczowego friend
Możliwe są trzy rodzaje takiej deklaracji:
funkcja niezależna fun jest zaprzyjaźniona z klasą A
metoda fun z klasy B jest zaprzyjaźniona z klasą A
wszystkie funkcje składowe klasy B są zaprzyjaźnione z klasą A