Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Autor: Piotr Szawdyński

Kurs C++

[kurs] Kurs C++ dla początkujących.

Opis szczegółowy

Jednym z najpopularniejszych języków programowania, przeznaczonych do tworzenia programów i gier jest C++. Język ten umożliwia pisanie aplikacji pod Windowsa, Linuksa i inne mniej popularne systemy operacyjne. Łatwość wykorzystywania możliwości sprzętowych komputera w połączeniu z tzw. przenośnością kodu źródłowego między platformami stwarza bardzo duże możliwości dla programistów na całym świecie.

Niniejszy kurs C++ koncentruje się na najważniejszych elementach języka i stopniowo wprowadza w coraz bardziej zaawansowane rozwiązania, jakie oferuje nam C++. Aktualnie kurs jest przeznaczony głównie dla osób początkujących, jednak osoby bardziej doświadczone również znajdą w nim cenne porady.

Dodatkowe informacje

Pomimo, iż niniejszy kurs został stworzony praktycznie od podstaw to jest on oznaczony jako wersja 3.0. Wersje historyczne kursów C++, które znajdowały się w przeszłości na łamach serwisu znajdują się w sekcji materiałów archiwalnych.

FAQ

Najczęściej spotykane błędy w kodzie zamieszczanym na forum.
Dokument opisuje jaka jest różnica pomiędzy preinkrementacją, a postinkrementacją.
Niniejszy dokument zawiera wskazówki, które ułatwiają samodzielne rozwiązywanie problemów typu: "Napisany program nie działa wcale lub nie działa poprawnie".
Implementacja kwantyfikatorów logicznych. "Czy wszystkie elementy spełniają warunek?" "Czy istnieje element spełniający warunek?"
Jak wstawiać kod na forum? (pytanie/odpowiedź)
Opisuje jak należy wstawiać kod na forum, gdy całość jest zbyt długa, lub z innych powodów nie może być podana.
Jaki warunek wpisać do pętli? (pytanie/odpowiedź)
Dokument opisuje prosty sposób na dobieranie warunków pętli
Mam problem z zadaniem ze SPOJa (pytanie/odpowiedź)
O różnych podstawowych sprawach powodujących u początkujących problemy z automatycznie sprawdzanymi zadaniami.
Dokument opisuje jak powinieneś postępować jeżeli napisany przez Ciebie program działa inaczej niż powinien.
Napisany program wysypuje się (pytanie/odpowiedź)
Napisany program wysypuje się - jak szukać przyczyny krytycznego błędu aplikacji
Nie znaleziono libgcc_s_dw2-1.dll, libstdc++-6.dll, lub podobnych. Program uruchamia się ze IDE (np Code::Blocks), ale nie z poziomu pliku exe.
std::getline() mi nie działa! (pytanie/odpowiedź)
Odpowiedź na częste pytanie, dlaczego mieszanie >> i std::getline() nie działa zgodnie z oczekiwaniami.

Poziom 1

Rozdział 1. Omówienie dostępnych środowisk do programowania w C++.
Rozdział 2. Krótkie omówienie budowy programów komputerowych i zapoznanie się z podstawową terminologią.
Rozdział 3. Podstawowa obsługa Code::Blocks i pierwsza kompilacja programu.
Rozdział 4. Omówienie budowy programu napisanego w C++.
5. Komentarze (lekcja)
Rozdział 5. Komentarze - forma zapisu oraz wskazówki jak z nich prawidłowo korzystać.
Rozdział 6. Zapoznanie się z obsługą standardowego wyjścia za pomocą funkcji printf oraz strumienia std::cout.
Rozdział 7. Co to jest przestrzeń nazw i jak z niej korzystać.
Rozdział 8. Omówienie podstawowych zagadnień związanych ze zmiennymi: dostępne typy danych; tworzenie i inicjalizacja zmiennych oraz operacja przypisania.
Rozdział 9. Omówienie obsługi standardowego wejścia za pomocą strumienia std::cin oraz przedstawienie sposobu walidacji wczytywanych danych.
Rozdział 10. Podstawowe operatory matematyczne, inkrementacja i dekrementacja oraz sposoby zapisywania działań matematycznych.
Rozdział 11. Operatory porównania; co jest prawdą, a co fałszem w C++ i wielokrotne przypisanie.
Rozdział 12. Operatory logiczne - sposób zapisywania koniunkcji, alternatywy i negacji w C++.
Rozdział 13. Sterowanie przebiegiem programu za pomocą instrukcji warunkowej if ... else.
Rozdział 14. Sterowanie przebiegiem programu za pomocą instrukcji switch ... case oraz omówienie działania instrukcji sterującej break.

Poziom 2

Rozdział 15. Omówienie pojęcia czym jest pętla, podkreślenie jej znaczenia oraz omówienie pętli do ... while.
Rozdział 16. W lekcji omówiono w jaki sposób generuje się losowe liczby całkowite.
Rozdział 17. Co to są funkcje i jak się z nich korzysta.
Rozdział 18. Jednowymiarowe tablice zmiennych.
Rozdział 19. Niniejszy rozdział pokazuje podstawowe techniki przekazywania tablic jednowymiarowych do funkcji.
Rozdział 20. Jak działa słowo kluczowe return w funkcjach i jakie są praktyczne zalety z właściwego używania wspomnianego słowa kluczowego.
Rozdział 21. Losowanie liczb całkowitych bez powtórzeń.
Rozdział 22. Omówienie pętli
for
.

Poziom 3

Rozdział 23. W niniejszym rozdziale opisano typ zmiennej wykorzystywany do pracy z tekstem w języku C++. Rozdział omawia podstawowe zagadnienia takie jak: tworzenie zmiennej tekstowej, ustawianie tekstu, sklejanie tekstu, wczytywanie wyrazu za pomocą standardowego strumienia wejściowego do zmiennej tekstowej oraz wypisywanie zawartości zmiennej tekstowej przy pomocy standardowego strumienia wyjściowego.
Rozdział 24. W niniejszej lekcji omówiono znaczenie słowa referencja oraz wyjaśniono działanie referencji w argumentach funkcji.
Rozdział 25. Niniejszy rozdział opisuje podstawowe pojęcia występujące w programowaniu obiektowym. Pojęcia te są dostosowane do poziomu osób początkujących i mają na celu przede wszystkim umożliwienie poprawnego komunikowania się z czytelnikiem w kolejnych rozdziałach niniejszego kursu.
Rozdział 26. Wczytywanie tekstu za pomocą standardowego strumienia wejściowego. Omówiono użycie std::cin oraz funkcję std::getline.
Rozdział 27. Wyszukiwanie ciągu znaków w tekście z użyciem klasy std::string.
Rozdział 28. Modyfikowanie treści (wstawianie, kopiowanie i usuwanie fragmentów tekstu) oraz sprawdzanie długości tekstu.
Rozdział 29. Omówienie słów kluczowych
continue
 i
break
 w kontekście pętli for, while oraz do ... while.
Rozdział 30. Rozdział omawia zagadnienie zagnieżdżania pętli.
Rozdział 31. Omówienie pętli
while
.

Poziom 4

Rozdział 32. W rozdziale opisano podstawową obsługę plików, tj. w jaki sposób otwiera się pliki, jak sprawdzić czy otwarcie pliku się powiodło, jak należy zamykać pliki oraz w jaki sposób można wczytać zawartość pliku tekstowego przy pomocy funkcji std::getline.
Rozdział 33. Odczytywanie zawartości pliku tekstowego za pomocą operatora >>.
Rozdział 34. Omówienie dostępnych mechanizmów do kontroli błędów podczas wczytywania zawartości pliku oraz przedstawienie kilku sposobów na radzenie sobie z nimi.
Rozdział 35. Rozdział opisuje, jak poruszać się po pliku w trybie do odczytu.

Poziom 5

Rozdział 43. W rozdziale opisano, jak tworzyć wskaźniki i jak nimi się posługiwać.
Rozdział 44. Lekcja przybliża działanie operatorów do zarządzana pamięcią,
new
 i
delete
45. Struktury (lekcja)
Rozdział 45. Struktury danych i struktury danych.
Rozdział 46. Omówienie funkcjonalności standardowych wskaźników inteligentnych.
Rozdział 47: Omówienie rekurencji, jej zalet i ograniczeń.
Rozdział 48. Omówienie funkcjonalności kontenera std::vector<>
Rozdział 49. Trochę więcej o iteratorach, ich różnych rodzajach, oraz po co one w ogóle są.
Rozdział 50. Kontenery asocjacyjne std::set<> i std::map<>
Rozdział 51. Wyrażenia lambda (C++11)
52. Wyjątki (lekcja)
Rozdział 52. Wyjątki i sytuacje wyjątkowe w C++
Rozdział 53. Omówienie operacji bitowych w języku C++.
W niniejszym rozdziale zawarto informacje, w jaki sposób warto pogłębiać swoją wiedzę z zakresu programowania w języku C++.

Poziom X

Podstawy debugowania na przykładzie Visual Studio 2017, pismem obrazkowym opowiedziane.
Jak zachowują się metody wirtualne w konstruktorach.
Działanie wirtualnych destruktorów w praktyce - znaczenie słowa kluczowego virtual.
Rozdział opisuje jak stworzyć wskaźnik na funkcję oraz jak z niego korzystać.

Dodatkowe materiały

Co to są tablice, omówienie tablic jednowymiarowych i wielowymiarowych oraz jakie zużycie pamięci generują tworzone tablice.
Omówienie łańcuchów znaków w stylu C oraz sposoby na wczytywanie tekstu.
Dokument opisuje co to są struktury i do czego one służą oraz jak je stosować.
Wskaźniki (lekcja)
Dokument opisuje co to są wskaźniki oraz pokazuje jak się z nich korzysta.
Obsługa plików za pomocą biblioteki fstream.
Przekazywanie struktur do funkcji oraz funkcji przez wskaźnik. Ponadto omówiono zagadnienie rekurencji.
Dynamiczne zarządzanie pamięcią za pomocą operatorów new i delete.
Dokument omawia referencje, polimorfizm funkcji i inne własności funkcji.
Omówienie zagadnienia związanego z przestrzeniami nazw.
Dokument opisuje jak się dzieli kod źródłowy na kilka plików.
Podstawowe informacje o klasach.
Tworzenie metod w klasie oraz ich wywoływanie.
Omówienie konstruktora, destruktora i konstruktora kopiującego.
Unia w C++ (lekcja)
Dokument omawia co to są unie i pokazuje jak je stosować.
Co to są szablony funkcji i jak z nich korzystać.
Co to są szablony struktur i jak z nich korzystać.
Szablony klas (lekcja)
Co to są szablony klas i jak z nich korzystać.
Co to jest typ wyliczeniowy enum i jak się z niego korzysta.
Dokument opisuje jak się korzysta z klasy std::string.
Dokument opisuje bibliotekę używaną pod konsolą dla systemu Windows.
Dokument opisuje jak korzystać z biblioteki do obsługi czasu.
Omówienie niektórych funkcji standardowej biblioteki matematycznej.
Dokument opisuje jak sterować wyświetlaniem danych w konsoli strumienia std::cout.