Lab: 17, 18, W: 9 |
Elementy C++ których zawsze brakowało w C – subiektywna dyskusja
- Zagadnienia i materiały
- Referencja, przeciążanie funkcji, szablony
- ex01.cpp – "Witaj świecie" w C++
- ex02.cpp - przekazywanie argumentów do funkcji: przez wartość, przez wskaźnik i przez referencję
- ex03.cpp – argumenty domyślne
- ex04.cpp – przeciążanie funkcji (ang. function overloading
- ex05.cpp – przeciążanie funkcji
- ex06.cpp – przeciążanie funkcji a argumenty domyślne
- ex07.cpp – szablony funkcji
- ex08.cpp – szablony funkcji z parametrami
- Referencja, przeciążanie funkcji, szablony
- ex01.cpp – prosta klasa; prywatność i publiczność, definicja funkcji na zewnątrz klasy
- ex02.cpp – konstruktor, this
- ex03.cpp – różne sposoby wywołania konstruktora
- ex04.cpp – klasa jako typ pamiętający stan; wywołanie tej samej metody na różnych obiektach (ale jeszcze nie polimorfizm)
- ex05.cpp – zmienna statyczna
- ex06.cpp – zmienne statyczne
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnić różnice w przekazywaniu argumentów do funkcji przez wartość, przez wskaźnik i przez referencję.
- Posługiwać się domyślnymi argumentami funkcji.
- Wyjaśnić czym jest przeciążanie funkcji.
- Umieć napisać szablon funkcji.
- Umieć napisać prostą klasę właściwie posługując się modyfikatorami dostępu public i private.
- Utworzyć konstruktor.
- Wyjaśnić czym jest i jaką rolę pełni this
- Czym są zmienne statyczne.
|
Lab: 19, 20, W: 10 |
C i C++ w urządzeniach wbudowanych, IoT - pierwsze próby
- Zagadnienia i materiały
- Programowanie Arduino
- c_cpp_arduino.jpg – schemat układu dla którego będziemy tworzyli kod
- ex01.cpp – początkowy program: mruganie jedną diodą, trzy sposoby zdefiniowania diody ("magic number", define, const)
- ex02.cpp – tablicujemy diody
- ex03.cpp - tworzymy początkową wersję klasy kontrolera LED-ów
- ex04.cpp – dodajemy metodę turnAllLEDs
- ex05.cpp – wprowadzamy typ uint8_t zamiast int
- ex06.cpp – dynamicznie przydzielamy pamięć na diody
- ex07.cpp - sprawdzamy jakie są efekty braku zwalniania pamięci
- ex08.cpp - dodajemy zwalnianie pamięci; tym razem program zachowuje się normalnie
- ex09.cpp - dodanie funkcji activateLED()
- ex10.cpp - nieznaczna modyfikacja kodu poprzedniego: raz na cykl jedna z diód jest deaktywowana
- ex11.cpp - reorganizujemy kod dodając klasę dla LED
- Zadanie
- Zadanie sprawdzające materiał z poprzednich zajęć (treść)
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
|
Lab: 21, 22, W: 11 |
Dziedziczenie i polimorfizm.
- Zagadnienia i materiały
- Dziedziczenie i polimorfizm
- Realizujemy obiektowo bibliotekę do tworzenia obrazów bitmapowych
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnić mechanizm dziedziczenia.
- Wyjaśnić istotę polimorfizmu.
|
Lab: 23, 24, W: 12 |
Test zaliczeniowy
- Zagadnienia i materiały
- Zadanie
- Część I: zadania sprawdzające materiał z poprzednich zajęć (treść)
- Część II: zadanie sprawdzające materiał z poprzednich zajęć (treść)
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
|
Lab: 25, 26, W: 13 |
C a C++. Wyjątki. Szablony. Własne operatory.
- Zagadnienia i materiały
- Tworzymy dynamiczną tablicę zwiększającą swój rozmiar zależnie od ilości dodanych elementów. Jest to "przeniesienie" kodu z języka C (patrz p04.c z Lab: 9, 10, W: 5 z przedmiotu Programowanie niskopoziomowe) do C++
- numbers_01.cpp - dodajemy obsługę wyjątków
- numbers_02.cpp - przekształcamy klasę w template, dodajemy operator (indeksowania)
- numbers_03.cpp - funkcja konwertująca liczbę dziesiętną do dwójkowej; cyfry liczby dwójkowej zapisywane w dynamicznej tablicy
- numbers_04_01.cpp - dodajemy klasę reprezentującą liczbę binarną i natrafiamy na pierwsze problemy; próba debugowania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć stosować wyjątki, szablony, własne operatory.
|