Mam kilka pytań odnośnie przeciążania operatorów, czy byłby ktoś w stanie na nie odpowiedzieć?
1.Załóżmy, że przeciążamy dwuargumentowy operator mnożenia. Ile argumentów będzie miała funkcja operator*(...) jeśli przeciążymy ją jako funkcję składową ?
2.Załóżmy, że przeciążamy jednoargumentowy operator negacji. Ile argumentów będzie miała funkcja operator!(...) jeśli przeciążymy ją jako funkcję globalną ?
3.Jeśli efektem działania operatora jest powstanie nowego obiektu, to zwracamy ...... ?
4.Jeśli wynikiem działania operatora jest jeden z jego argumentów (zmodyfikowany lub nie), to zwracamy ..... ?
5.W jaki sposób definiujemy konwersję z obcego typu do "naszej klasy" ? Jak uniknąć przypadkowego zdefiniowania takiej konwersji ?
6.W jaki sposób definiujemy operację konwersji z naszej klasy do obcego typu ?
7.Jakie problemy mogą się pojawić po zdefiniowaniu operatorów konwersji "w obie strony" (tzn np. double->Zespolona i Zespolona->double) ?