C++: Różnice pomiędzy wersjami

Z Wikibooks, biblioteki wolnych podręczników.
Usunięta treść Dodana treść
Derbeth (dyskusja | edycje)
TODO - rozdziały do zintegrowania lub usunięcia
Ramir (dyskusja | edycje)
m ru
Linia 21: Linia 21:
[[es:Programación en C Más Más]]
[[es:Programación en C Más Más]]
[[fr:Programmation C plus plus]]
[[fr:Programmation C plus plus]]
[[ru:Си-плюс-плюс]]

Wersja z 04:07, 20 mar 2006

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.

Konieczne będzie wyjaśnienie paru spraw, dlatego też przeczytaj najpierw rozdział Wstęp. 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.

Podręcznik języka C.
Podstawy języka C, jednocześnie wstęp do niniejszej książki

Spis treści

Wstęp

  1. O języku C++ Etap rozwoju: 50% (w dniu 04.01.2005)
    Opis i historia
  2. O podręczniku Etap rozwoju: 75% (w dniu 12.02.2005)
    Autorzy, źródła, jak czytać ten podręcznik

Część 1: Podstawowe mechanizmy C++

  1. Przestrzenie nazw Etap rozwoju: 75% (w dniu 13.04.2006)
    Wprowadzenie pojęcia przestrzeni nazw, przestrzeń nazw std
  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. Rvalue-referencje i przenoszenie wartości Etap rozwoju: 00% (w dniu 14.11.2014)
    Wprowadzony w C++11 mechanizm przenoszenia zawartości obiektów
  5. Funkcje inline Etap rozwoju: 50% (w dniu 11.03.2006)
    Krótki opis funkcji inline
  6. 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ć
  7. 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
  8. Strumienie
    Obsługa strumieni wejścia i wyjścia, czytanie i pisanie do plików, obiekty std::istream i std::ostream
  9. C++11 - wybrane nowe elementy standardu
    Pętla for po kolekcji, typy wyliczeniowe, typy całkowitoliczbowe

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

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 zorientowane obiektowo
    Wyjaśnienie idei programowania zorientowanego 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

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. Funkcje anonimowe (lambdy) Etap rozwoju: 50% (w dniu 12.11.2014)
    Funkcje anonimowe wprowadzone w C++11
  3. Szablony funkcji Etap rozwoju: 00% (w dniu 30.12.2006)
    Szablony funkcji
  4. Szablony klas Etap rozwoju: 00% (w dniu 14.11.2014)
    Szablony klas, programowanie uogólnione
  5. Metaprogramowanie Etap rozwoju: 00% (w dniu 14.11.2014)
    Zaawansowanie użycie szablonów, informacje o typach, SFINAE
  6. Wskaźniki do elementów składowych
    Wykorzystanie wskaźników do elementów składowych klas

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. Unordered_set
    Korzystanie ze zbiorów
  8. Unordered_map
    Korzystanie ze zbiorów
  9. Stack
    Korzystanie ze stosu
  10. Iteratory
    Korzystanie z iteratorów
  11. Algorytmy w STL Etap rozwoju: 50% (w dniu 24.03.2011)
    Jak działają algorytmy w STL
  12. Inne klasy STL
    Krótkie omówienie pozostałych klas

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++

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) (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

Zobacz też