Zdravim :)
Udelal sem si tridu na pocitani s komplexnimi cisly, ale mam tam par nejasnosti...
Napr. spratelene funkce
Naucil sem se je z knizky Mistrostvi v C++ a zacal sem je pouzivat, ale ted sem se nad tim hloubeji zamyslel a pripada mi divne vyuzivat je na to na co je vyuzivam..
konkretne tyto funkce:
friend ostream & operator << (ostream & os, const Cnumber & cn);
friend void operator >> (istream & os, Cnumber & cn);
friend Cnumber operator + (double n, Cnumber & cn);
friend Cnumber operator - (double n, Cnumber & cn);
friend Cnumber operator * (double n, Cnumber & cn);
friend Cnumber operator / (double n, Cnumber & cn);
Z nich zadna, krome te druhe nemeni vnitrni stav objektu (tudiz by asi zadna krome te druhe logicky nemela byt spratelena ?)
Navic ani ta druha funkce nemusi byt spratelena, jelikoz trida Cnumber ma i verejne metody pomoci kterych lze nastavit jeji hodnoty..
Na druhou stranu zase hned vidim ktere metody s touto tridou pracuji :) ale zase bych to mohl uvect mimo tridu... (to bych to videl taky..)
Jak by to tedy melo spravne byt? Jo a jeste neco existuje nejaka moznost zapisu komplexniho cisla ve tvaru
Cnumber X;
X = 10 + 10i ?
(podle me to nejde, protoze operator prirazeni pozaduje pokud vim pouze jeden parametr a tady se mu snazim narvat dva..)