okladka
Część pierwsza książki jest rodzajem samouczka programowania. Prezentuje elementy języka C oraz oparte na klasach, dziedziczeniu i polimorfizmie rozszerzenia obiektowe właściwe dla C++. Takie konstrukcje języka jak pętle, łańcuchy znakowe, tablice, funkcje czy konstruktory klas przedstawiono na możliwie krótkich przykładach. Dla każdego z nich podano kod źródłowy, opis działania, wydruk i zrzut ekranu z wynikami. Szczególną uwagę zwrócono na wyrobienie u Czytelnika sprawności w posługiwaniu się wskaźnikami do łańcuchów, tablic i funkcji. Omówiono przydzielanie i zwalnianie pamięci na stercie przy użyciu operatorów new i delete. Uwzględniono tworzenie przemieszczalnych okienek w trybie tekstowym oraz grafiki punktowej przy wykorzystaniu funkcji oferowanych przez interfejs BGI.

W części drugiej podano kody źródłowe i opisy bardziej zaawansowanych programów. Sześć z nich pracuje w trybie tekstowym a cztery w trybie graficznym. Przykładowo, program Piano symuluje organy a program Mousebox wyświetla sterowane myszą przemieszczalne listy wyboru. W programie City na uwagę zasługuje funkcja takeStr umożliwiająca wpis, przewijanie i modyfikacje łańcucha znakowego dłuższego niż widoczne na ekranie okienko wpisowe. Program Zegar prezentuje dwa przesuwalne strzałkami zegary, z możliwością włączania i wyłączania melodii. Program Drawthru pokazuje użycie myszy do narysowania kilku krzywych wykresu, a następnie do wskazania myszą jednej z nich. W sumie, lektura obydwu części książki winna przybliżyć Czytelnikowi zasady tworzenia programów tak tekstowych jak i graficznych.


Część I Wprowadzenie do języka C++ (7)
Rozdział 1. Wprowadzenie (9)
Rozdział 2. Kompilator Borland C++ (11)
Rozdział 3. Kompilator Microsoft Visual C++ (15)
Rozdział 4. Podstawowe elementy programu (19)

  • Funkcja główna main (19)
  • Funkcje i zbiory nagłówkowe (23)
  • Wskaźnik do łańcucha znaków (25)
  • Strumień wyjścia cout (28)
Rozdział 5. Wydruk na ekran (31)
  • Funkcja clrscr w środowisku Borland C++ (31)
  • Zmienne predefiniowane (33)
  • Kolor wydruku (36)
  • Formatowanie wydruku (39)
  • Formatowany wpis do łańcucha (42)
  • Odczyt z pliku (45)
Rozdział 6. Funkcje (49)
  • Przekaz parametrów przez referencję (49)
  • Odczyt z klawiatury (51)
  • Zwrot wskaźnika przez funkcję (55)
  • Wskaźnik do funkcji (57)
  • Tablica wskaźników do funkcji (59)
  • Tablice wielowymiarowe typów int (61)
  • Tablice wielowymiarowe typów char (63)
  • Wskaźnik do wskaźnika (65)
  • Wskaźnik do funkcji na liście argumentów (68)
  • Argument domniemany (70)
  • Instrukcja continue (72)
  • Przeładowanie funkcji (73)
Rozdział 7. Klasy i struktury (77)
  • Konstruktor (77)
  • Konstruktor domniemany (80)
  • Operatory new i delete (83)
  • Konstruktor w roli konwertera (85)
  • Kopiowanie głębokie (89)
  • Przeładowanie operatorów (92)
  • Lista inicjalizatorów (96)
  • Tablice obiektów definiowanych (98)
  • Dziedziczenie (100)
  • Dziedziczenie dwóch klas (102)
  • Funkcja wirtualna (103)
  • Typ enum i instrukcja typedef (106)
  • Wskaźnik this (109)
Rozdział 8. Grafika tekstowa (113)
  • Wskazanie pola wyboru kursorem (113)
  • Wskazanie pola wyboru tabulatorem (116)
  • Wskazanie pola wyboru myszą (121)
  • Pozycjonowanie pola prostokątnego za pomocą myszy (125)
Rozdział 9. Grafika punktowa (131)
  • Okno lokalne (131)
  • Pozycjonowanie obiektu za pomocą myszy (137)
  • Kopiowanie wycinków obrazu do pamięci (143)
Rozdział 10. Argumenty wywołania programu i zmienne środowiskowe (151)
Rozdział 11. Kompilacja programu złożonego z kilku plików (155)
Część II Przykłady (159)
Rozdział 12. Program FACT.cpp obliczający silnię N = n! (161)
Rozdział 13. Program COSI.cpp obliczający wartość cos(x) (165)
Rozdział 14. Program CITY.cpp do wpisu par miast i ich odległości (173)
Rozdział 15. Program PIANO.cpp do symulacji organów (187)
Rozdział 16. Program ZEGAR.cpp do symulacji 2 zegarów (195)
Rozdział 17. Program DYNATREE.cpp do tworzenia binarnego drzewa dynamicznego (209)
Rozdział 18. Program REGRE.cpp kreślący prostą regresji dla punktów odczytanych z pliku zewnętrznego (217)
Rozdział 19. Program MOUSEBOX.cpp do przesuwania myszą okien wyboru (229)
Rozdział 20. Program DRAWTHRU.cpp do rysowania myszą kilku linii oraz do wybrania i podświetlenia jednej z nich (243)
Dodatki (257)
Dodatek A Kody ASCII (259)
Dodatek B Kody klawiatury rozszerzonej (263)