Zadanie 1
Utwórz klasę POJAZD, która zawiera składowe prywatne typu całkowitego:
- X
- Y
- konstruktor bezparametrowy oraz konstruktor z dwoma parametrami poz_X, poz_Y oznaczającymi położenie punktu na ekranie w trybie tekstowym. Posiada też dwie funkcje zaprzyjaźnione lub metody publiczne służące do wyznaczenia odległości tego punktu od (0,0) oraz od (80,25). |Podaj kilka przykładów.
Zadanie 2
Zdefiniuj operator dwuargumentowy „ + ” obliczający sumę dwóch wektorów i operator dwuargumentowy „* ” obliczający iloczyn skalarny dwóch wektorów o przyjętym z góry wymiarze. Wyznacz przy tej okazji długość wektora. Operatory mają być przeciążone w postaci:
funkcji zaprzyjaźnionej
metody klasy
Zadanie 3
Zbuduj klasę MACIERZ do obsługi tablic 2x2 ze składową prywatną w postaci tablicy liczb typu double. Zapewnij istnienie konstruktora bezargumentowego i z argumentem w postaci tablicy inicjującej macierz wg życzenia. Dokonaj przeciążenia operatora mnożenia "*" i dodawania "+" tak, aby możliwe było mnożenie (w sensie mnożenia macierzy) i dodawanie obiektów tej klasy (np. C=A*B, D=A+B). Stwórz funkcje zaprzyjaźnione zdolne do: wykonania działa mnożenia macierzy przez liczbę oraz obliczenia wyznacznika macierzy.
Uwaga: Skorzystaj z poniższych informacji i oznaczeń dotyczących działań na macierzach
tu przeciążanie operatorów:
|
a12 |
* |
b11 |
b12 |
= |
c11 |
c12 |
a21 |
a22 |
|
b21 |
b22 |
|
c21 |
c22 |
|
a12 |
+ |
b11 |
b12 |
= |
c11 |
c12 |
a21 |
a22 |
|
b21 |
b22 |
|
c21 |
c22 |
tu funkcja zaprzyjaźniona dwuargumentowa (stała K, macierz A)
K |
* |
a11 |
a12 |
= |
Ka11 |
Ka12 |
|
|
a21 |
a22 |
|
Ka21 |
Kc22 |
tu funkcja zaprzyjaźniona z jednym argumentem (macierz A):
a11 |
a12 |
= |
a11a22 - a12a21 |
a21 |
a22 |
|
|
gdzie:
gdzie: