C++

Z Wikibooks, biblioteki wolnych podręczników.

Vista-kate.png

Witamy w kursie C++ na Wikibooks. Podręcznik ten przybliży ci podstawy C++ - języka programowania, który obecnie ma prawdopodobnie największy wpływ na tworzenie programów komputerowych. Nauczymy cię też programowania obiektowego i ogólnego, wykorzystującego szablony; pokażemy też, jak wykorzystywać standardową bibliotekę STL.

Porada Jeśli dopiero zaczynasz naukę programowania, koniecznie zacznij od przeczytania podręcznika C, gdyż nie jest to kurs napisany "od zera" - stanowi przedłużenie podręcznika C. Konieczne będzie wyjaśnienie paru spraw, dlatego też przeczytaj najpierw rozdział Jak czytać ten podręcznik!


Jak widzisz, podręcznik ten nie jest ukończony a prace nad nim trwają. Z chęcią powitamy każdą pomoc - nie musisz pytać się nikogo o pozwolenie na rozwijanie tego kursu, przeczytaj jednak rozdział Dla autorów. Jeśli zamierzasz jedynie korzystać z zawartych tu informacji - nie bój się poprawiać literówek. Miłej lektury!


Uwaga! Objaśnienie spisu treści dla autorów na stronie dyskusji.

Do zrobienia Do zrobienia:
Do zintegrowania z resztą lub usunięcia zostały stare rozdziały: Klasy i Start.


Ważna sprawa: jeśli nie możesz znaleźć czegoś w tym podręczniku, nie dodawaj tego do ToDo, nie dopisuj do spisu treści lecz sprawdź tutaj: C. Jeśli zaś tego i tu nie ma, możesz spokojnie to dopisać.


[edytuj] Spis treści

[edytuj] Wstęp

  1. O języku C++ Etap rozwoju: 50% (w dniu 04.01.2005)
    Opis i historia
  2. O podręczniku Etap rozwoju: 50% (w dniu 12.02.2005)
    Autorzy, źródła
  3. Jak czytać ten podręcznik Etap rozwoju: 75% (w dniu 12.02.2005)
    Ważne informacje o organizacji podręcznika

[edytuj] Część 1: Podstawy języka

  1. Przestrzenie nazw Etap rozwoju: 75% (w dniu 13.04.2006)
    Wprowadzenie pojęcia przestrzeni nazw, przestrzeń nazw std, przykładowy program demonstrujący użycie cin, cout i string
  2. Zmienne Etap rozwoju: 50% (w dniu 12.02.2006)
    Nowe sposoby deklaracji, kontrola typów w C++, nowe sposoby rzutowania
  3. Referencje Etap rozwoju: 50% (w dniu 12.02.2006)
    Porównanie ze wskaźnikami, zastosowanie do przekazywania argumentów do funkcji
  4. Funkcje inline Etap rozwoju: 50% (w dniu 11.03.2006)
    Krótki opis funkcji inline
  5. Przeciążanie funkcji Etap rozwoju: 00% (w dniu 04.01.2005)
    Po co i jak można przeciążać funkcje i jak tego nie da się robić
  6. Zarządzanie pamięcią Etap rozwoju: 25% (w dniu 11.03.2006)
    Jak w C++ dynamicznie zarządzać pamięcią z użyciem operatorów new i delete

[edytuj] Część 2: Podstawy programowania obiektowego

  1. Czym jest obiekt Etap rozwoju: 75% (w dniu 29.09.2007)
    Wprowadzenie pojęcia klasy i obiektu, autorekursja, kontrola dostępu
  2. Konstruktor i destruktor Etap rozwoju: 100% (w dniu 04.01.2005)
    Konstruktor, konstruktor kopiujący, destruktor
  3. Dziedziczenie Etap rozwoju: 50% (w dniu 04.01.2005)
    Dziedziczenie prywatne, publiczne i chronione
  4. Składniki statyczne Etap rozwoju: 00% (w dniu 04.01.2005)
    Atrybuty i metody statyczne

[edytuj] Część 3: Zaawansowane programowanie obiektowe

  1. Funkcje wirtualne Etap rozwoju: 25% (w dniu 30.12.2006)
    Funkcje wirtualne i abstrakcyjne, wyjaśnienie polimorfizmu i dynamic_cast
  2. Programowanie orientowane obiektowo
    Wyjaśnienie idei programowanie orientowanego obiektowo
  3. Obiekty stałe
    Jak tworzyć, możliwe niebezpieczeństwa, słowo kluczowe mutable
  4. Przeciążanie operatorów Etap rozwoju: 25% (w dniu 04.01.2005)
    Wprowadzenie przykładu klasy z kompletnym przeciążeniem operatorów
  5. Konwersje obiektów
    Przeciążenie operatorów konwersji, konstruktor jako sposób konwersji, konstruktory typu explicit
  6. Klasy i typy zagnieżdżone
    Tworzenie klas i typów zagnieżdżonych
  7. Dziedziczenie wielokrotne
    Dziedziczenie wielokrotne, dziedziczenie wirtualne oraz problemy z nimi związane

[edytuj] Część 4: Zaawansowane konstrukcje językowe

  1. Obsługa wyjątków Etap rozwoju: 00% (w dniu 30.12.2006)
    Obsługa wyjątków w C++, funkcje unexpected() i terminate()
  2. Szablony funkcji Etap rozwoju: 00% (w dniu 30.12.2006)
    Szablony funkcji
  3. Szablony klas Etap rozwoju: 25% (w dniu 04.01.2005)
    Szablony klas, programowanie uogólnione
  4. Wskaźniki do elementów składowych
    Wykorzystnie wskaźników do elementów składowych klas

[edytuj] Dodatek A: Biblioteka STL

  1. Filozofia STL Etap rozwoju: 00% (w dniu 30.12.2006)
    Jak skonstruowana jest biblioteka STL
  2. String Etap rozwoju: 00% (w dniu 30.12.2006)
    Korzystanie z łańcuchów znaków
  3. Vector Etap rozwoju: 75% (w dniu 30.12.2006)
    Korzystanie z wektorów
  4. List & Slist Etap rozwoju: 50% (w dniu 12.07.2007)
    Listy jedno- i dwukierunkowe
  5. Set
    Korzystanie ze zbiorów
  6. Map
    Korzystanie z odwzorowań
  7. Stack
    Korzystanie ze stosu
  8. Iteratory
    Korzystanie z iteratorów
  9. Algorytmy w STL Etap rozwoju: 00% (w dniu 30.12.2006)
    Jak działają algorytmy w STL
  10. Inne klasy STL
    Krótkie omówienie pozostałych klas

[edytuj] Dodatek B

  1. Przykłady
    Przykłady kodu z komentarzem
  2. Ćwiczenia Etap rozwoju: 00% (w dniu 04.01.2005)
    Zadania kontrolne
  3. Różnice między C a C++ Etap rozwoju: 25% (w dniu 25.05.2006)
    Najważniejsze różnice między C a C++

[edytuj] Pozostałe

  1. Indeks Etap rozwoju: 00% (w dniu 04.01.2005)
    Indeks najważniejszych terminów
  2. Zasoby Etap rozwoju: 50% (w dniu 04.01.2005)
    Książki, linki do innych kursów i dokumentacji
  3. Dla autorów
    Wskazówki dla osób pragnących pomóc w rozwoju podręcznika
  4. Wersja do druku Etap rozwoju: 100% (w dniu 11.02.2005) Exquisite-print printer.png (edytuj)
    Całość książki na jednej stronie, gotowa do druku
  5. Licencja Etap rozwoju: 100% (w dniu 04.01.2005)
    Pełny tekst GNU Free Documentation license

[edytuj] Zobacz też

Wikipedia, nasz siostrzany projekt, zawiera artykuł na temat C++.