Skip to main content
Side panel
Home
Calendar
WYSZUKAJ KURS
More
TUTORIALE
TUTORIALS
English (en)
English (en)
Polski (pl)
You are currently using guest access
Log in
Cpp
Ustawienia
|
Uczestnicy
|
Oceny
Open AGH
Home
Calendar
WYSZUKAJ KURS
Cpp
Ustawienia
|
Uczestnicy
|
Oceny
Expand all
Collapse all
Expand
Collapse
General
Highlighted
Kurs przeznaczony jest dla osób, które...
Expand
Collapse
[1] Wprowadzenie
Highlighted
[1.1] Wymagania odnośnie oprogramowania
[1.2] Ćwiczenia praktyczne - szkielety zadań i rozwiązania
[1.3] CMake
Etykieta
Debugging
[1.4] Debugging in CLion – samouczek
[1.5] CLion: Elementy GUI służące do debuggowania
Expand
Collapse
[2] Język C – powtórzenie wiadomości
Highlighted
[2.1] Język C: Ogólne zasady
[2.2] Język C: Zmienne i stałe
[2.3] Język C: Deklaracja a definicja, funkcje
Expand
Collapse
[3] Na styku języków C i C++
Highlighted
Wykład
[3.1] C++: Podstawowe cechy języka
[3.2] Programowanie zorientowane na obiekty (OOP)
[3.3] C++ a OOP
[3.4] C++: Cechy wyróżniające, standardy, filozofia
[3.5] Język C a język C++: Wstęp praktyczny
[3.6] Język C a język C++: Wybrane różnice
[3.7] C++: Przeciążanie funkcji
[3.8] C++: Argumenty domyślne
[3.9] Gdzie szukać pomocy? (cz. 1)
[3.10] Gdzie szukać pomocy? (cz. 2)
[3.11] Gdzie szukać pomocy? (cz. 3)
Etykieta
[PREZENTACJA] Na styku języków C i C++
Etykieta (kopia)
Zadania
[3] Sprawdzian wiadomości
Zadanie: Matlab-1
Expand
Collapse
[4] Obiekty i klasy, podstawy biblioteki standardowej
Highlighted
Cele laboratorium:przećwiczenie definiowania klasy...
Wykład
[4.1] Czym jest obiekt? Czym jest klasa?
[4.2] Struktura klasy – składowe (pola i metody)
[4.3] Enkapsulacja
[4.4] Klasy – korzystanie ze składowych
[4.5] Konstruktor i destruktor
[4.6] Strukturalne a obiektowe podejście do programowania (przykład)
[4.7] Organizacja programu w C++
[4.8] Biblioteka standardowa - wprowadzenie
[4.9] Kontener `std::vector`
[4.10] Dokumentacja biblioteki standardowej
Etykieta
[PREZENTACJA] Obiekty i klasy
[PREZENTACJA] Biblioteka standardowa - podstawy
[PREZENTACJA] Organizacja programu w C++
Etykieta (kopia)
Zadania
[4] Sprawdzian wiadomości
Zadanie: Matlab-2
Expand
Collapse
[5] Szablony funkcji i klas
Highlighted
Cele laboratorium:ugruntowanie wiadomości i umieję...
Wykład
[5.1] Programowanie generyczne
[5.2] Szablony funkcji
[5.3] Szablony klas
[5.4] Gdzie definiować funkcje i metody szablonowe?
[5.5] Zalety i wady szablonów
Etykieta
[PREZENTACJA] Szablony funkcji i klas
Expand
Collapse
[6] Semantyka wartości a semantyka referencji
Highlighted
Wykład
[6.1] Semantyka referencji [do I - wartości]
[6.2] Semantyka wartości
[6.3] const correctness - wprowadzenie
[6.4] Stałe wskaźniki, stałe referencje (do l-wartości)
[6.5] Stałe metody
[6.6] Przeciążanie `const`
Etykieta
[PREZENTACJA] Semantyka wartości a semantyka referencji
Etykieta (kopia)
Zadania
[6] Sprawdzian wiadomości
Expand
Collapse
[7] Biblioteka standardowa
Highlighted
Cele laboratorium:przećwiczenie korzystania z pods... (kopia)
Wykład (kopia)
[7.1] Klasa `std::string`
[7.2] Iteratory (cz. 1)
[7.3] Iteratory (cz. 2)
[7.4] Kontenery - wprowadzenie
[7.5] Kontener `std::array`
[7.6] Kontenery asocjacyjne (`std::map`, `std::set`)
[7.7] Inne kontenery
[7.8] Kontenery standardowe a wskaźniki i referencje
[7.9] Algorytmy
[7.10] Operacje wejścia/wyjścia w oparciu o strumienie - wprowadzenie
[7.11] Wejście/wyjście w języku C a w języku C++
[7.12] Operator `«` i operator `»`
[7.13] Co to jest bufor?
[7.14] Standardowe strumienie wejścia i wyjścia
[7.15] Manipulatory strumieni
[7.16] Strumienie dla łańcuchów znaków
[7.17] Strumienie dla plików
[7.18] Stan strumienia
[7.19] Zastępczy symbol specyfikatora typu (`auto`)
[7.20] Range-based `for` loop
[7.21] Funkcje wyższego rzędu, wskaźniki do funkcji
[7.22] Wyrażenie lambda
[7.23] Szablon klasy `std::function`
[7.24] Sposoby inicjalizacji zmiennych
Etykieta
[PREZENTACJA] Biblioteka standardowa
Etykieta (kopia)
Zadania
[7] Sprawdzian wiadomości
Zadanie: Matlab-3
Zadanie: Catalogue-1
Expand
Collapse
[8] Klasy: Rozszerzanie funkcjonalności
Highlighted
Cele laboratorium:przećwiczenie definiowania relac...
Wykład (kopia) (kopia)
[8.1] Klasy: Rozszerzanie funkcjonalności - wprowadzenie
[8.2] Kompozycja
[8.3] Dziedziczenie
[8.4] Przesłanianie (metod)
[8.5] Składowe chronione
[8.6] Konstruktory odziedziczone
[8.7] Polimorfizm
[8.8] Konwersja typu a dziedziczenie
[8.9] Wirtualne destruktory
[8.10] Polimorfizm a szablon `std::function`
[8.11] Klasy abstrakcyjne
[8.12] Interfejsy
[8.13] Kiedy kompozycja, a kiedy dziedziczenie?
[8.14] Przykład udanego dziedziczenia: Biblioteka standardowa we/wy
Etykieta (kopia) (kopia)
[PREZENTACJA] Klasy: Rozszerzanie funkcjonalności
Etykieta (kopia) (kopia) (kopia)
Zadania
[8] Sprawdzian wiadomości
Zadanie: Matlab-4
Zadanie: Vehicles-1
Expand
Collapse
[9] Klasy: Tworzenie i niszczenie obiektów
Highlighted
Wykład (kopia) (kopia) (kopia)
[9.1] Inicjalizacja pól klasy
[9.2] Inicjalizator wewnątrzklasowy
[9.3] Listy inicjalizacyjne konstruktora
[9.4] Konstruktor domyślny
[9.5] Konstruktory delegujące
[9.6] Konstruktor kopiujący
[9.7] Destruktory
[9.8] Kopiujący operator przypisania
[9.9] Domyślne operacje specjalne a dziedziczenie
[9.10] Zasada trzech, zasada pięciu a zasada zera
[9.11] Kopiowanie a przypisanie
[9.12] = default
[9.13] = delete
[9.14] RAII i cykl życia obiektów
Etykieta (kopia) (kopia) (kopia) (kopia)
[PREZENTACJA] Klasy: Tworzenie i niszczenie obiektów
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia)
Zadania
[9] Sprawdzian wiadomości
Expand
Collapse
[10] Więcej o klasach...
Highlighted
Cele laboratorium:ugruntowanie wiadomości i umieję... (kopia)
Wykład (kopia) (kopia) (kopia) (kopia)
[10.1] Wskaźnik `this`
[10.2] Składowe statyczne – Wprowadzenie
[10.3] Składowe statyczne – Deklarowanie
[10.4] Składowe statyczne – Definiowanie
[10.5] Składowe statyczne – Korzystanie
[10.6] Dziedziczenie a kontenery biblioteki standardowej
[10.7] Typy wyliczeniowe – Wprowadzenie
[10.8] Typy wyliczeniowe – `enum`
[10.9] Typy wyliczeniowe – `enum class`
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[PREZENTACJA] Więcej o klasach...
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
Zadania
[10] Sprawdzian wiadomości
Zadanie: Matlab-5
Zadanie: Shapes-1
Zadanie: Vehicles-2
Zadanie: Complex-1
Expand
Collapse
[11] System typów
Highlighted
Wykład (kopia) (kopia) (kopia) (kopia) (kopia)
[11.1] Aliasy
[11.2] Przenośność oprogramowania
[11.3] Alias `size_t`
[11.4] Niejawne konwersje typów dla klas
[11.5] Operatory rzutowania - wprowadzenie
[11.6] Operator `static_cast`
[11.7] Operator `dynamic_cast`
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[PREZENTACJA] System typów
Expand
Collapse
[12] Semantyka przeniesienia
Highlighted
Wykład (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[12.1] Semantyka przeniesienia - Wprowadzenie
[12.2] Semantyka przeniesienia – Referencje do r-wartości
[12.3] Semantyka przeniesienia – Zawłaszczanie zasobów
[12.4] Semantyka przeniesienia – Semantyka przeniesienia a wydajność programu i wygoda pisania kodu
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[PREZENTACJA] Semantyka przeniesienia
Expand
Collapse
[13] Zarządzanie pamięcią, inteligentne wskaźniki
Highlighted
Cele laboratorium:ugruntowanie wiadomości i umieję... (kopia)
Wykład (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[13.1] Rodzaje alokacji pamięci, organizacja pamięci programu
[13.2] Zarządzanie pamięcią z użyciem "surowych" wskaźników
[13.3] Problemy związane z (nieumiejętnym) zarządzaniem pamięcią
[13.4] Po co nam inteligentne wskaźniki?
[13.5] Inteligentne wskaźniki - wprowadzenie
[13.6] Szablon klasy `std::unique_ptr`
[13.7] Szablon klasy `std::shared_ptr`
[13.8] Operacje przenoszące szablonu klasy `std::unique_ptr`
[13.9] Istotne ograniczenia w stosowaniu inteligentnych wskaźników
[13.10] Zarządzanie pamięcią w C++98 a C++14
Etykieta
[PREZENTACJA] Zarządzanie pamięcią, inteligentne wskaźniki
Etykieta (kopia)
Zadania
[13] Sprawdzian wiadomości
Zadanie: Shapes-2
Zadanie: Vehicles-3
Expand
Collapse
[14] Przekazywanie obiektów (do i z funkcji)
Highlighted
Wykład (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[14.1] Przekazywanie obiektów - ogólne wytyczne
[14.2] Przekazywanie obiektów (do i z funkcji) - komentarz
Etykieta (kopia) (kopia)
[PREZENTACJA] Przekazywanie obiektów (do i z funkcji)
Expand
Collapse
[15] Przestrzenie nazw
Highlighted
Cele laboratorium:ugruntowanie wiadomości związany...
Wykład (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[15.1] Przestrzenie nazw - wprowadzenie
[15.2] Przestrzenie nazw – definiowanie
[15.3] Przestrzenie nazw – korzystanie
[15.4] Deklaracje `using`
Etykieta (kopia) (kopia) (kopia)
[PREZENTACJA] Przestrzenie nazw
Etykieta (kopia) (kopia) (kopia) (kopia)
Zadania
Zadanie: Matlab-6
Expand
Collapse
[16] Wyjątki
Highlighted
Cele laboratorium:ugruntowanie wiadomości i umieję... (kopia)
Wykład (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
[16.1] Wyjątek – co to? jak to obsłużyć?
[16.2] throw i try-catch
[16.3] Rzucanie i wychwytywanie wyjątku
[16.4] Odwijanie stosu, znajdowanie pasującej klauzuli obsługi, wyjątki a destruktory
[16.5] Standardowe klasy wyjątków
[16.6] Korzystanie z własnych typów wyjątków
[16.7] Kody błędów
[16.8] Kiedy stosować wyjątki, a kiedy nie?
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia)
[PREZENTACJA] Wyjątki
Etykieta (kopia) (kopia) (kopia) (kopia) (kopia) (kopia)
Zadania
Zadanie: Matlab-7
Zadanie: Matlab-8
Open course index
Dashboard
Cpp
[2] Język C – powtórzenie wiadomości
[2.1] Język C: Ogólne zasady
[2.1] Język C: Ogólne zasady
Completion requirements