16.05.2015 Views

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Data1::operator TEZ_DATA(void)<br />

{<br />

TEZ_DATA DT_Obiekt(0, rok);<br />

for (int i = 0; i < mc-1; i++)<br />

DT_Obiekt.dz += TAB[i];<br />

DT_Obiekt.dz += dz;<br />

return DT_Obiekt;<br />

}<br />

main()<br />

{<br />

Data1 dt_Obiekt(11,17,89);<br />

TEZ_DATA DT_Obiekt;<br />

DT_Obiekt = dt_Obiekt;<br />

DT_Obiekt.Pokazuj();<br />

return 0;<br />

}<br />

Zaprzyjaźnione są klasy Data1 i TEZ_DATA. Dzięki temu metody<br />

zadeklarowane wewnątrz zaprzyjaźnionej klasy Data1 mają dostęp<br />

do prywatnych danych obiektów klasy TEZ_DATA. Ponieważ klasa to<br />

nowy formalny typ danych, a obiekt to dane takiego nowego typu,<br />

nic nie stoi na przeszkodzie, by obiekty przekazywać do funkcji<br />

jako argumenty (tak jak wcześniej obiekty typów typowych - int,<br />

float itp.).<br />

W <strong>C++</strong> mamy jeszcze jedną metodę wymiany danych. Możemy nadać<br />

elementom klas i obiektów status static (statyczny).<br />

WYMIANA INFORMACJI PRZY POMOCY DANYCH STATYCZNYCH.<br />

Jeśli element klasy został zadeklarowany jako element statyczny<br />

(przy pomocy słowa kluczowego static), to bez względu na to jak<br />

wiele obiektów danej klasy utworzymy, w pamięci będzie istnieć<br />

TYLKO JEDEN EGZEMPLARZ (kopia) tego elementu. W przykładowym<br />

programie z obiektami-licznikami możemy osiągnąc taki efekt<br />

nadając zmiennej ile (stan licznika) status static int ile:<br />

class Licznik<br />

{<br />

char moja_litera;<br />

static int ile;<br />

...<br />

};<br />

Jeśli utworzymy wiele obiektów takiej klasy, to wszystkie te<br />

obiekty będą posługiwać się tą samą (wspólną!) zmienną ile. Dla<br />

przykładu, jeśli zechcemy zliczać ile razy w strumieniu danych<br />

wejściowych pojawiły się np. znaki 'a' , 'b' i 'c', możemy<br />

utworzyć trzy obiekty - liczniki: licznik_a, licznik_b i<br />

licznik_c. wszystkie te liczniki będą posługiwać się wspólną<br />

zmienną statyczną ile:<br />

class Licznik<br />

- 306-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!