16.07.2014 Views

Programowanie. Teoria i praktyka z wykorzystaniem C++

Programowanie. Teoria i praktyka z wykorzystaniem C++

Programowanie. Teoria i praktyka z wykorzystaniem C++

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

184 ROZDZIA 6 • PISANIE PROGRAMU<br />

Pomys ten mona zaimplementowa w jzyku <strong>C++</strong> na wiele sposobów. Przedstawiamy<br />

najprostszy, który wydaje nam si uyteczny:<br />

class Token { // Bardzo prosty typ zdefiniowany przez uytkownika.<br />

public:<br />

char kind;<br />

double value;<br />

};<br />

Token to typ (tak samo jak int czy char), a wic mona go uywa do definiowania zmiennych<br />

i przechowywania wartoci. Skada si z dwóch czci (nazywanych skadowymi) — kind<br />

(rodzaj) oraz value (warto). Sowo kluczowe class oznacza „typ zdefiniowany przez uytkownika”.<br />

Wskazuje definicj typu z zerem lub wiksz liczb skadowych. Pierwsza skadowa<br />

o nazwie kind jest znakiem char, a wic mona jej uy do przechowywania znaków '+' i '*',<br />

które bd reprezentoway operatory. Przy uyciu tego typu mona tworzy nastpujce instrukcje:<br />

Token t; // Zmienna t jest typu Token.<br />

t.kind = '+'; // Zmienna t reprezentuje znak +.<br />

Token t2; // Zmienna t2 jest innym obiektem typu Token.<br />

t2.kind = '8'; // Cyfra 8 oznacza rodzaj (kind) tokenu bdcy liczb.<br />

t2.value = 3.14;<br />

Aby uzyska dostp do skadowej, posugujemy si odpowiedni notacj — nazwa_obiektu.<br />

nazwa_skadowej. Tekst t.kind mona przeczyta jako „rodzaj obiektu t”, a t2.value jako<br />

„warto obiektu t2”. Obiekty typu Token mona kopiowa tak samo jak typu int:<br />

Token tt = t; // Inicjacja kopii<br />

if (tt.kind != t.kind) error("To niemoliwe!");<br />

t = t2;<br />

// przypisanie<br />

cout

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

Saved successfully!

Ooh no, something went wrong!