329
Poznaj C++ w pięć minut!
operację dodawaniaS (mnożenia, dzielenia ctc.) oraz wypisywać ją w pewnej określonej postaci1 2 3;
• w celu dodawania liczb zespolonych przedefiniujemy znaczenie standardowego operatora t, podobnie uczynimy w przypadku wypisywania - tym razem z operatorem «.
Konstruktor klasy oraz dw ie proste metody Czesc Rzecz i Czesc Urój są zdefiniowane już „wewnątrz” deklaracji klasy ograniczonej nawiasami klamrowymi { }. Decyzja o miejscu definicji jest najczęściej podyktowana długością kodu: jeśli metoda ma pokaźną objętość 10, to zwykle przemieszcza się ją „na zewnątrz”, w „środku” pozostawiając tylko nagłówek.
Deklaracja przykładowego obiektu 20+l0*j ma w programie postać:
przypadek I : (niejawne tworzenie obiektu poprzez jego deklarację):
Complae NazwaObiektu(20, 10);
przypadek 2 : (jawne tworzenie obiektu poprzez new):
Complex ^NazwaObieklu Ptr = ncw Complex(20,10);
Wywoływanie metod odbywa się za pomocą standardowej notacji „z kropką": NazwaObieklu. Nazwa Melody(parametry); //przypadek I lub
NazwaObieklu l’lr-> Nazwa Metody (parametry); //przypadek 2
Wiedząc już jak to wszystko powinno działać, popatrzmy, jak zrealizować brakujące metody.
Funkcja wypisz jest tak trywialna, iż równie dobrze mogłaby być zdefiniowana wprost w' ciele klasy. Ponieważ jest to metoda klasy Complex. musimy o tym poinformować kompilator poprzez poprzedzenie jej nazwy, nazwą klasy zakończoną operatorem :: (wymóg składniowy). Jako metoda klasy, procedura ta ma dostęp do prywatnych pól obiektu, na rzecz którego została aktywowana. Gdyby jednym z parametrów tej metody był inny obiekt klasy Complex (np
Przykład ogranicza się tylko do dodawania - pozostałe operacje arytmetyczne Czytelnik może z łatwością dopisać samodzielnie.
Reprezentacja za pomocą modułu i fazy zostaje pozostawiona do realizacji Czytelnikowi jako proste ćwiczenie programistyczne.
Powszechnie zalecaną regułą jest nieprzekraczanie jednej strony przy konstrukcji procedury - tak aby całość mogła zostać objęta wzrokiem bez konieczności gorączkowego przerzucania kartek.