34 Godzina 3
Żeby zdefiniować zmienną w stary, całkowicie niesłuszny sposób, możesz napisać: tdefine liczbaUczniowWKlasie 15
Zauważ, że liczbaUczniowWKlasie nie jest żadnego typu (int, char itd.). Użycie #define powoduje wykonanie zwykłej zamiany tekstu. Za każdym razem, gdy preprocesor napotka w tekście programu liczbaUczniowWKlasie to wstawi w to miejsce tekst 15.
Ponieważ preprocesor jest uruchamiany przed kompilatorem, to kompilator nigdy
nie zobaczy stałej, lecz wartość 15.
Mimo że #def ine działa, to wprowadzono nową, lepszą, bardziej gustowną metodę definiowania stałych w C++:
const unsigned short int liczbaUczniowWKlasie = 15;
Ten przykład definiuje stałą symboliczną o nazwie liczbaUczniowWKlasie, jednak w tym przypadku liczbaUczniowWKlasie jest typu unsigned short int.
Taka definicja jest dłuższa do wpisywania, ale posiada dodatkowe zalety. Największa różnica polega na tym, że stała jest określonego typu i kompilator może ją traktować zależnie od tego typu.
NOWY TERMIN
Stałe wyliczeniowe tworzą zbiór stałych o określonym zakresie wartości. Np. możesz zdefiniować KOLOR jako wyliczenie i podać pięć wartości dla KOLOR: CZERWONY, NIEBIESKI, ZIELONY, BIAŁY i CZARNY.
Żeby stworzyć stałą wyliczeniową trzeba użyć słowa kluczowego enum, a następnie napisać nazwę stałej, otworzyć klamrę, wypisać wszystkie dopuszczalne wartości oddzielone przecinkami, zamknąć klamrę i postawić średnik. Oto przykład: enum KOLOR { CZERWONY, NIEBIESKI, ZIELONY, BIAŁY, CZARNY };
Spowoduje to wykonanie następujących czynności:
1. KOLOR staje się nazwą wyliczenia. Powstaje zatem nowy typ.
2. Do CZERWONY zostaje przypisana wartość 0, do NIEBIESKI wartość 1, do ZIELONY wartość 2 itd.
Każda stała wyliczeniowa posiada wartość całkowitą. Jeśli tego specjalnie nie określisz, to pierwsza stała przyjmie wartość 0, druga 1 itd. Każda ze stałych może zostać zdefiniowana z określoną wartością. Jeśli któraś z wartości nie zostanie podana to zostanie ona wyliczona na podstawie poprzedniej. Jeśli napiszesz:
Żeby zdefiniować zmienną w stary, całkowicie niesłuszny sposób, mozesz napisać: #define liczbaUczniowWKlasie 15
Zauważ, że liczbaUczniowWKlasie nie jest żadnego typu (int, char itd.)- Użycie #defme powoduje wykonanie zwykłej zamiany tekstu. Za każdym razem, gdy preprocesor napotka w tekście programu liczbaUczniowWKlasie to wstawi w to miejsce tekst 15.
Ponieważ preprocesor jest uruchamiany przed kompilatorem, to kompilator nigdy nie zobaczy stałej, lecz wartość 15.
Mimo że #define działa, to wprowadzono nową, lepszą, bardziej gustowną metodę definiowania stałych w C++:
const unsigned short int liczbaUczniowWKlasie = 15;
Ten przykład definiuje stałą symboliczną o nazwie liczbaUczniowWKlasie. jednak w tym przypadku liczbaUczniowWKlasie jest typu unsigned short int.
Taka definicja jest dłuższa do wpisywania, ale posiada dodatkowe zalety. Największa różnica polega na tym, że stała jest określonego typu i kompilator może ją traktować zależnie od tego typu.
NOWY TERMIN
Stałe wyliczeniowe tworzą zbiór stałych o określonym zakresie wartości. Np. możesz zdefiniować KOLOR jako wyliczenie i podać pięć wartości dla KOLOR: CZERWONY, NIEBIESKI, ZIELONY, BIAŁY i CZARNY.
Żeby stworzyć stałą wyliczeniową trzeba użyć słowa kluczowego enum. a następnie napisać nazwę stałej, otworzyć klamrę, wypisać wszystkie dopuszczalne wartości oddzielone przecinkami, zamknąć klamrę i postawić średnik. Oto przykład: enum KOLOR { CZERWONY, NIEBIESKI, ZIELONY, BIAŁY, CZARNY };
Spowoduje to wykonanie następujących czynności:
1. KOLOR staje się nazwą wyliczenia. Powstaje zatem nowy typ.
2. Do CZERWONY zostaje przypisana wartość 0, do NIEBIESKI wartość 1, do ZIELONY wartość 2 itd.
Każda stała wyliczeniowa posiada wartość całkowitą. Jeśli tego specjalnie nie określisz, to pierwsza stała przyjmie wartość 0, druga 1 itd. Każda ze stałych może zostać zdefiniowana z określoną wartością. Jeśli któraś z wartości nie zostanie podana to zostanie ona wyliczona na podstawie poprzedniej. Jeśli napiszesz: