222 Godzina 15
6
7
8
9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
publlc:
KOT() { jegoWiek = 1; jegoWaga=5; } // domyślny konstruktor
-KOT(); // destruktor
int PobierzWiek() const { return jegoWiek; } int PobierzWaga() const { return jegoWaga; } void UstawWiek(int wiek) { jegoWiek = wiek; )
private;
int jegoWiek; int jegoWaga;
: -KOTO
// cout « "Wywołanie destruktora!\n";
for
* Rodzina = new KOT[500];
i;
* pKot;
(i * 0; i < 500; i++)
pKot = new KOT; pKot->UstawWiek(2*i +1); Rodzina[i] = *pKot; delete pKot;
(i = 0; i cout «
"•Rodzina[i] .PobierzWiek()
39:
40: delete [] Rodzina;
41:
42: return 0;
43: }
< 500; i++)
"Kot #" « (i+1) « endl;
Kot #1: 1 Kot #2: 3 Kot #3: 5
Kot #499: 997 Kot #500: 999
W linii 26 deklarujemy tablicę Rodzina składającą się z 500 elementów klasy KOT. Cała tablica została stworzona na stercie poprzez wywołanie new KOT[500],
Każdy element KOT również jest tworzony na stercie (linia 31). Zauważ, że tym razem nie wstawiamy do tablicy wskaźnika, lecz sam obiekt. Nie jest to tablica wskaźników, lecz obiektów klasy KOT.
6
7
8
9
10 11 12
13
14
15
16
17
18
19
20 21 22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public:
K0T(> { jegoWiek = 1; jegoWaga=5; } // domyślny konstruktor
-KOTO; // destruktor
int PobierzWiek() const ( return jegoWiek; } int PobierzWagaO const { return jegoWaga; ) void OstawWiek(int wiek) { jegoWiek = wiek; )
private:
int jegoWiek; int jegoWaga;
: ~KOT()
II cout « "Wywołanie destruktora!\n”;
for
* pKot; (i = 0;
i < 500; i++)
pKot = new KOT; pKot->0stawWiek(2*i +1) , Rodzina[i] = *pKot; delete pKot;
(i = 0; i < 500; i++) cout « "Kot #" « (i+1) « endl;
«
^•Rodzina [i] . PobierzWiek ()
39:
40: delete (] Rodzina;
41:
42: return 0;
43: )
Kot #1: 1 Kot #2: 3 Kot #3: 5
Kot #499: 997 Kot #500: 999