Programowanie. Teoria i praktyka z wykorzystaniem C++
Programowanie. Teoria i praktyka z wykorzystaniem C++
Programowanie. Teoria i praktyka z wykorzystaniem C++
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
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