Zaawansowane referencje i wskaźniki 173
Ponieważ wiemy, że obiekt nie będzie mógł być pusty (nuli), to do przekazywania obiektów do funkcji lepiej będzie wykorzystać referencje. Ilustruje to listing 12.3.
1: // Listing 12.3
2: // Przekazywanie referencji do obiektów
3:
4: #include <iostream.h>
5:
6: class ZwyklyKot
7: {
8: public:
9: ZwyklyKot ();
10: ZwyklyKot(ZwyklyKott);
11: -ZwyklyKot() ;
12:
13: int PobierzWiek() const { return jegoWiek; )
14: void UstawWiek(int wiek) { jegoWiek = wiek; }
15:
16: private:
17: int jegoWiek;
18: } ;
19:
20: ZwyklyKot::ZwyklyKot()
21: {.
22: cout « "Konstruktor zwykłego kota...\n";
23: jegoWiek = 5;
25:
2 6: ZwyklyKot::ZwyklyKot(ZwyklyKotS)
28: cout « "Konstruktor kopiujący zwykłego kota...\n";
30:
31: ZwyklyKot::-ZwyklyKot()
33: cout « "Destruktor zwykłego kota...\n";
35:
36: const ZwyklyKot & FunkcjaDruga (const ZwyklyKot S kot);
37:
38: int main()
39: {
40: cout « "Tworzenie kota...\n";
41: ZwyklyKot Frisky;
42: cout « "Frisky ma " « Frisky.PobierzWiek() « " lat\n";
43: int wiek = 10;
44: Frisky.UstawWiek(wiek);
45: cout « "Frisky ma " « Frisky.PobierzWiek() « " lat\n";
46: cout « "Wywołanie FunkcjaDruga...\n";
lat\n";
47: FunkcjaDruga(Frisky);
48: cout « "Frisky ma " « Frisky.PobierzWiek() « "
49: return 0;
50: }
51:
Ponieważ wiemy, że obiekt nie będzie mógł być pusty (nuli), to do przekazywania obiektów do funkcji lepiej będzie wykorzystać referencje. Ilustruje to listing 12.3.
X: // Listing 12.3
2: // Przekazywanie referencji do obiektów
3:
4: Dinclude <iostream.h>
5:
6: class ZwyklyKot
7: {
8: public:
9: ZwyklyKot ();
10: ZwyklyKot(ZwyklyKoti);
11: -ZwyklyKot () ;
12:
13: int PobierzWiek() const ( return jegoWiek; )
14: void UstawWiek(int wiek) { jegoWiek = wiek; )
15:
16: private:
17: int jegoWiek;
19:
20: ZwyklyKot::ZwyklyKot()
22: cout « "Konstruktor zwykłego kota...\n";
23: jegoWiek = 5;
25:
26: ZwyklyKot::ZwyklyKot(ZwyklyKotS)
28: cout « "Konstruktor kopiujący zwykłego kota...\n";
30:
31: ZwyklyKot::-ZwyklyKot()
33: cout « "Destruktor zwykłego kota...\n";
35:
36: const ZwyklyKot & FunkcjaDruga (const ZwyklyKot & kot);
37:
38: int main()
39: {
40: cout « "Tworzenie kota...\n”;
41: ZwyklyKot Frisky;
42: cout « "Frisky ma " « Frisky.PobierzWiek() « " lat\n”;
43: int wiek = 10;
44: Frisky.UstawWiek(wiek);
45: cout « "Frisky ma " « Frisky.PobierzWiek() « " lat\n”;
46: cout « "Wywołanie FunkcjaDruga..,\n";
lat\n";
47: FunkcjaDruga(Frisky);
48: cout « "Frisky ma " « Frisky.PobierzWiek() « "
4 9: return 0;
50: }
51: