166 Godzina 11
27: else
28: cout « "Wystąpił blad!!\n";
29: return 0;
31:
32: KOD BLEDU Potęgi(int n, int SrKwadrat, int SrSzescian)
34: if (n > 20)
35: return PORAŻKA; // pojedynczy kod błędu
36: else
38: rKwadrat = n*n;
39: rSzescian = n*n*n;
40: return SUKCES;
EFEKT DZIAŁANIA:
Podaj liczbę (0 - 20): 3 liczba: 3 kwadrat: 9 sześcian: 27
ANALIZA:
Ten program jest bardzo zbliżony do poprzedniego. Różnica polega na użyciu typu wyliczeniowego (enum) do obsługi błędów (linie 21, 35 i 40).
Druga, ważniejsza różnica polega na implementacji funkcji Potęgi () z wykorzystaniem referencji w miejscu wskaźników. Jak widać użycie referencji powoduje, że działanie i wykorzystanie funkcji jest łatwiejsze.
W ciągu tej godziny nauczyłeś się, co to są referencje i czym się one różnią od wskaźników. Wiesz już, że każda referencja musi być zainicjalizowana konkretnym obiektem, i że potem nie można już zmienić obiektu docelowego tej referencji. Każda operacja wykonana na referencji zostanie również wykonana na obiekcie docelowym. Dowodem tego jest odczytanie adresu referencji i obiektu, do którego się ona odnosi (patrz listing 11.3).
P: Dlaczego wykorzystywać referencje skoro wskaźniki oferują już wszystkie możliwości przez nie dawane?
O: Referencje są łatwiejsze w użyciu i zrozumieniu. Ukryty jest fakt pośredniego
odwołania do zmiennej.
P: To w takim razie dlaczego wykorzystywać wskaźniki, skoro referencje są łatwiejsze?
O: Referencje nie mogą być puste (nuli) ani nie można im ponownie przypisać nowego obiektu. Wskaźniki są trudniejsze w obsłudze ale dzięki temu dają programiście więcej możliwości.
Podaj liczbę (0 - 20): 3 liczba: 3 kwadrat: 9 sześcian: 27
1
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
return 0;
else
cout « "Wystąpił blad!!\n";
KOD_BLEDU Potęgi(int n, int SrKwadrat, int SrSzescian) (
if (n > 20)
return PORAŻKA; // pojedynczy kod bledu
else
rKwadrat = n*n; rSzescian = n*n*n; return SUKCES;
)
Ten program jest bardzo zbliżony do poprzedniego. Różnica polega na użyciu typu wyliczeniowego (enum) do obsługi błędów (linie 21, 35 i 40).
Druga, ważniejsza różnica polega na implementacji funkcji Potęgi () z wykorzystaniem referencji w miejscu wskaźników. Jak widać użycie referencji powoduje, że działanie i wykorzystanie funkcji jest łatwiejsze.
W ciągu tej godziny nauczyłeś się, co to są referencje i czym się one różnią od wskaźników. Wiesz już, że każda referencja musi być zainicjalizowana konkretnym obiektem, i że potem nie można już zmienić obiektu docelowego tej referencji. Każda operacja wykonana na referencji zostanie również wykonana na obiekcie docelowym. Dowodem tego jest odczytanie adresu referencji i obiektu, do którego się ona odnosi (patrz listing 11.3).
P: Dlaczego wykorzystywać referencje skoro wskaźniki oferują już wszystkie możliwości przez nie dawane?
O: Referencje są łatwiejsze w użyciu i zrozumieniu. Ukryty jest fakt pośredniego odwołania do zmiennej.
P: To w takim razie dlaczego wykorzystywać wskaźniki, skoro referencje są łatwiejsze?
O: Referencje nie mogą być puste (nuli) ani nie można im ponownie przypisać nowego obiektu. Wskaźniki są trudniejsze w obsłudze ale dzięki temu dają programiście więcej możliwości.