Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium



Podobne dokumenty
Programowanie Komputerów 3FZ

Informatyka I : Tworzenie projektu

Programowanie niskopoziomowe

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie obiektowe

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Wykład 8: klasy cz. 4

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Systemy operacyjne. Zasady lokalne i konfiguracja środowiska Windows 2000

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Rozdział 5. Administracja kontami użytkowników

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

MentorGraphics ModelSim

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Modelowanie obiektowe - Ćw. 1.

5.2. Pierwsze kroki z bazami danych

Ustawienia personalne

Programowanie sterowników

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

5.4. Tworzymy formularze

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Kopiowanie, przenoszenie plików i folderów

Programowanie Systemów Czasu Rzeczywistego

Zaawansowane aplikacje internetowe - laboratorium

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

WPROWADZENIE DO INFORMATYKI

Opis szybkiego uruchomienia programu APBSoft

1.Wstęp. 2.Generowanie systemu w EDK

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Instalacja i konfiguracja serwera IIS z FTP

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Dodatki. Dodatek A Octave. Język maszyn

Laboratorium - Archiwizacja i odzyskiwanie danych w systemie Windows XP

Programowanie w środowisku graficznym GUI

Laboratorium Systemów Operacyjnych

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

5. Administracja kontami uŝytkowników

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Zaliczenie przedmiotu:

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Ewidencja Wyposażenia PL+

Konta uŝytkowników. Konta uŝytkowników dzielą się na trzy grupy: lokalne konta uŝytkowników, domenowe konta uŝytkowników, konta wbudowane

ZESTAW LABORATORYJNY I ZESTAW FARMACEUTYCZNY : Instrukcja instalacji

Programowanie obiektowe zastosowanie języka Java SE

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Systemy operacyjne i sieci komputerowe Szymon Wilk Konsola MMC 1

I - Microsoft Visual Studio C++

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Zasoby dyskowe: Eksplorator Windows Z zasobami dyskowymi związane są nierozłącznie prawa dostępu gwarantujące możliwość odczytu, kasowania,

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

VinCent Administrator

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

PAMIĘĆ OPERACYJNA...107

Podstawy technologii cyfrowej i komputerów

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

System Wsparcia Organizacji Zakupów w GRUPIE TAURON - Podręcznik Oferenta

Dokumentacja instalacji aktualizacji systemu GRANIT wydanej w postaci HotFix a

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

APLIKACJA SHAREPOINT

Bezpieczeństwo informacji oparte o kryptografię kwantową

Laboratorium - Zabezpieczanie kont, danych i komputera w systemie Windows 7

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP


Laboratorium - Udostępnianie folderu, tworzenie grupy domowej i mapowanie dysku sieciowego w Windows 7

Laboratorium Badanie topologii i budowa małej sieci

Spis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Ustalanie dostępu do plików - Windows XP Home/Professional

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

Programowanie w Javie

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Instrukcja laboratoryjna cz.3

Programowanie Obiektowe GUI

Laboratorium - Archiwizacja i odzyskiwanie danych w Windows Vista

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

Ćwiczenie Zmiana sposobu uruchamiania usług

Transkrypt:

Programowanie Komputerów 2FD Materiały pomocnicze do laboratorium

2 Spis treści ZAJĘCIA 1. WPROWADZENIE... 4 1. ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM PRACY... 4 Praca w sieci lokalnej... 4 Sposób logowania... 4 Katalogi robocze... 4 Programy narzędziowe... 4 Praca w środowisku Visual C++... 4 Tworzenie projektu... 4 Kompilacja... 7 Uruchamianie programu... 7 Praca krokowa... 8 2. OPRACOWANIE PROSTYCH PROGRAMÓW W JĘZYKU C++... 8 ZAJĘCIA 2: DEFINIOWANIE KLASY... 9 ZAGADNIENIA Z TEGO ĆWICZENIA OBEJMUJĄ UMIEJĘTNOŚCI:... 9 1. Opracowanie klasy... 9 2. Opracowanie funkcji głównej (main)... 10 ZAJĘCIA 3: ROZBUDOWA PROJEKTU CZ. I: KONSTRUKTOR, DESTRUKTOR, ZAGADNIENIE LISTY DWUKIERUNKOWEJ (PODWÓJNIE ŁĄCZONEJ)... 11 ZAGADNIENIA Z TEGO ĆWICZENIA OBEJMUJĄ UMIEJĘTNOŚCI:... 11 ustawiania składowych klasy w konstruktorze;... 11 dynamicznego przydziału pamięci za pomocą operatora new;... 11 zwalniania dynamicznie przydzielonej pamięci za pomocą operatora delete;... 11 poruszania się wskaźnikiem po elementach listy;... 11 opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji składowych opracowanych klas;... 11 ZAJĘCIA 4: INTERFEJS W TRYBIE TEKSTOWYM... 12 W TYM ĆWICZENIU NALEŻY ZAPROJEKTOWAĆ PROSTY INTERFEJS W TRYBIE TEKSTOWYM O NASTĘPUJĄCYCH OPCJACH:... 12 Wprowadzanie nowego obiektu na listę zatrudnionych;... 12 Usuwanie obiektu z listy;... 12 Wypisywanie całej listy na ekran;... 12 Przeszukiwanie listy;... 12 Zapisywanie do pliku całej listy (użycie funkcji strumieniowych do uzupełnienia na zajęciach 5);... 12 Odczytywanie listy z pliku (użycie funkcji strumieniowych do uzupełnienia na zajęciach 5);... 12 ZAJĘCIA 5: ROZBUDOWA PROJEKTU CZ. II: KONSTRUKTOR DOMYŚLNY, KONSTRUKTOR KOPIUJĄCY,, DYNAMICZNA ALOKACJA PAMIĘCI, FUNKCJE OPERATOROWE... 13 ZAGADNIENIA Z TEGO ĆWICZENIA OBEJMUJĄ UMIEJĘTNOŚCI:... 13 zdefiniowania konstruktora domyślnego (np. z argumentami domniemanymi);... 13 ustawiania składowych klasy na liście inicjalizacyjnej konstruktora;... 13 dynamicznego tworzenia tablic przydział pamięci za pomocą operatora new;... 13 zwalniania dynamicznie przydzielonej pamięci za pomocą operatora delete;... 13 zdefiniowania konstruktora kopiującego;... 13 zdefiniowania operatora przypisania;... 13 zdefiniowania funkcji operatorowych według instrukcji w ćwiczeniu;... 13 zdefiniowania zaprzyjaźnionych funkcji operatorowych (<<, >>) skojarzonych ze standardowymi strumieniami wyjścia, wejścia;... 13 opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji składowych opracowanych klas... 13 ZAJĘCIA 6, 7: MECHANIZM DZIEDZICZENIA, FUNKCJE WIRTUALNE CZ. I, II.... 14 2

3 ZAGADNIENIA Z TEGO ĆWICZENIA OBEJMUJĄ UMIEJĘTNOŚCI:... 14 zdefiniowania konstruktora klasy pochodnej (wywołanie konstruktora klasy podstawowej);... 14 przydziału/zwalniania pamięci dla tablicy wskaźników;... 14 wykorzystania (użycia) zdefiniowanych funkcji klasy podstawowej w klasie pochodnej (w tym operatorowych);... 14 zastosowania standardowych konwersji przy dziedziczeniu;... 14 użycia mechanizmu wirtualności;... 14 opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji... 14 3

4 Zajęcia 1. Wprowadzenie 1. Zapoznanie się ze środowiskiem pracy Praca w sieci lokalnej Laboratorium prowadzone jest na komputerach wyposażonych w system operacyjny Windows NT. Ponadto katalogi robocze są umieszczone na serwerze plikowym pracującym pod kontrolą systemu Linux. Sposób logowania Aby się zalogować do systemu należy wykonać następujące czynności: 1. Sprawdzić czy w miejscu Domena znajduje się KPE, jeśli nie to ją należy wybrać. 2. W miejscu Użytkownik należy podać identyfikator grupy FD2labxy, x oznacza numer grupy laboratoryjnej; y oznacza numer zespołu w grupie (w tym semestrze jest jedna grupa laboratoryjna zatem dla wszystkich osób x = 1, przykładowy identyfikator FD2lab11) 3. W miejsce hasło nic nie wpisujemy Uwaga! Identyfikatory FD2labxy zostaną nadane zespołom przez prowadzącego zajęcia i są ważne do końca semestru i są związane z zespołem a nie z konkretnym komputerem. Katalogi robocze Pliki robocze (źródłowe) należy tworzyć w katalogach umieszczonych na serwerze plikowym, dysk h:\. Jedynie na tym dysku sieciowym można tworzyć pliki i podkatalogi. Uwaga: Pliki zapisywane na dysku lokalnym c: zostają kasowane po każdym logowaniu. Programy narzędziowe Programy narzędziowe (kompilator), z których korzysta się podczas zajęć umieszczone są na serwerze plikowym. Praca w środowisku Visual C++ Aby uruchomić środowisko programisty należy z menu Start Programy wybrać grupę Microsoft Visual C++ 6.0, a następnie wybrać pozycję o tej samej nazwie. Tworzenie projektu Aby utworzyć nowy projekt należy wybrać File New a następnie zakładkę Projects. Ponieważ program przedmiotu dotyczy tylko podstaw programowania obiektowego w języku C++, zatem na zajęciach będziemy korzystać tylko z jednego z dostępnych typ typów projektów czyli: Win32 Console Application. Aby utworzyć nowy projekt należy podać jego nazwę w polu Project name: i wskazać lokalizację, w której ma być on utworzony (wybieramy dysk sieciowy h:!). 4

5 Ten typ projektu zapewnia łatwą komunikację z urządzeniami zewnętrznymi i tworzy program działający w trybie okienka konsolowego. W przypadku pomyłki w typie projektu zaleca się usunięcie projektu i utworzenie nowego wg podanych wyżej zasad. Ponadto zaleca się podawanie nazw projektów identyfikujących kolejne zajęcia. Pole z nazwą katalogu jest uaktualniane automatycznie (w razie potrzeby można zmienić miejsce składowania plików projektu). Następnie wskazujemy zawartość tworzonego projektu. Chcąc tworzyć własny program wybieramy zazwyczaj pusty projekt (Empty Project). Struktura plików automatycznie utworzonego projektu jest pokazana w okienku Workspace po wybraniu trybu File View. Po utworzeniu nowego projektu wybieramy menu lokalnego File New tworzymy nowy plik C++ Source File. 5

6 Następnie w polu File name: wpisujemy nazwę nowego pliku z rozszerzeniem cpp. Pamiętaj jeśli będzie odznaczona opcja Add to project: wtedy utworzony nowy plik nie będzie dołączony do aktywnego projektu. Przełączenie widoku na ClassView pokaże strukturę klas i funkcji (jeśli zostały zdefiniowane) w projekcie. Struktura klas jest tworzona na podstawie deklaracji w plikach nagłówkowych (Header Files). Do projektu można wstawiać pliki już istniejące (źródłowe albo nagłówkowe lub inne) przez otworzenie menu lokalnego (naciśnięcie prawego klawisza myszki) dla konkretnego folderu (Source Files, Header Files) i wybranie pliku, który ma być dołączony. 6

7 Kompilacja Narzędzia umożliwiające kompilację i konsolidację znajdują się w menu Build. Poszczególne pliki źródłowe można kompilować z osobna poleceniem Compile (po uprzednim wskazaniu pliku) albo wybrać Build *.exe, aby przeprowadzić proces kompilacji (gdy nie ma modułów obj bądź są przestarzałe) i konsolidacji albo wybrać Rebuild all, aby skompilować wszystkie pliki źródłowe i przeprowadzić konsolidację. Alternatywnie można posłużyć się klawiszami skrótów lub paletą narzędziową Build (można ją włączyć/wyłączyć Tools Customize Toolbars). Wyniki kompilacji i konsolidacji (w szczególności lista błędów) są pokazywane w dolnym panelu. W przypadku pojawienia się błędu można dwukrotnie kliknąć na linii z komunikatem o błędzie co spowoduje przeniesienie kursora w panelu edycyjnym do odpowiedniej linii w celu skorygowania błędu. Uruchamianie programu Po utworzeniu programu exe można go uruchomić aby zobaczyć efekty pracy przez wybranie polecenia Build Execute albo klikając wykrzyknik na palecie Build. 7

8 Rezultat działania zobaczymy w postaci okienka konsolowego. Po zakończeniu działania proces jest wstrzymywany i czeka na reakcję użytkownika. Wykonanie programu spowoduje także wybranie polecenia Build Start Debug Go albo kliknięcie ikony (Go) z palety Build. Porównaj działanie obu sposobów. Praca krokowa Praca krokowa polega na wstrzymywaniu działania programu po wykonaniu instrukcji zakodowanych w jednej linii. Rozpoczęcie tego trybu pracy odbywa się przez wybranie Build Start Debug Step Into (albo Run to cursor). Wykonanie pojedynczej linii programu odbywa się przez Debug Step Over. Wygodniejsze jest jednak korzystanie z palety uruchomieniowej. W czasie pracy krokowej dolny panel zawiera listę zmiennych (obiektów) tworzonych w trakcie działania programu umożliwiając śledzenie zmian ich wartości. Ponadto w panelu Watch możemy utworzyć własną listę zmiennych których zawartości chcemy podglądać. Zakończenie pracy krokowej i powrót do trybu edycji odbywa się przez wybranie polecenia Debug Stop debugging z menu albo z palety uruchomieniowej. 2. Opracowanie prostych programów w języku C++ Propozycje funkcji będą podawane w trakcie laboratorium. 8

9 Zajęcia 2: Definiowanie klasy Zagadnienia z tego ćwiczenia obejmują umiejętności: 1. Opracowanie klasy a) tworzenie szkieletu klasy, b) dodanie danych składowych do utworzonej klasy, c) dodanie funkcji składowych do utworzonej klasy, d) wykorzystania mechanizmu ustawiania danych składowych; e) zastosowania wskaźnika this; f) zabezpieczania danych składowych przed modyfikacją; g) dołączania plików nagłówkowych w całym projekcie; h) korzystania z wbudowanych funkcji bibliotecznych (m.in. iostream.h, sting.h); Tworzenie szkieletu projektu Utwórz nowy projekt w swojej przestrzeni roboczej. W trakcie tworzenia projektu zaleca się utworzenie szkieletu przez wybór An empty project. Przełącz panel z zawartością Workspace w tryb widoku klas (ClassView) Z menu lokalnego dla listy klas wybierz New Class i podaj tylko nazwę klasy a następnie zaakceptuj klikając OK. Zwróć uwagę na to, że w Widoku klas (po rozwinięciu) pojawia nazwa klasy oraz lista automatycznie utworzonych składników, którymi są pewne szczególne funkcje składowe o nazwach takich jak nazwa klasy. Te funkcje to konstruktor i destruktor, (którymi na obecnym etapie nie będziemy się zajmować) Po powrocie do widoku plików (FileView) zauważysz, że utworzone zostały dwa pliki xxx.cpp i xxx.h. Ten ostatni plik zawiera szkielet klasy (deklarację) z dwoma funkcjami tj. konstruktorem i destruktorem, których ciała, zdefiniowane w xxx.cpp, są puste. Dodanie danych składowych do utworzonej klasy Przełącz panel na widok ClassView. Aby dodać daną składową od utworzonej klasy, należy z menu lokalnego dla stworzonej klasy wybrać Add Member Variable. Dodanie funkcji składowych do utworzonej klasy Przełącz panel na widok ClassView. Aby dodać daną składową od utworzonej klasy, należy z menu lokalnego dla stworzonej klasy wybrać Add Member Function. 9

10 Zwróć uwagę na menu lokalne dla poszczególnych składników klasy. Znajdują się tam m.in. polecenia Go to Declaration i Go to Definition ułatwiające poruszanie się zwłaszcza po dużym wielomodułowym projekcie. Staraj się korzystać z tych ułatwień. Dwukrotne kliknięcie na nazwie funkcji powoduje przejście do definicji funkcji. 2. Opracowanie funkcji głównej (main) Jeśli przy tworzeniu projektu wybrałeś An empty project to do danego projektu konieczne jest dołączenie jeszcze jednego pliku o rozszerzeniu.cpp. W tym celu z menu File należy wybrać opcję New, w zakładce Files zaznaczyć C++ Source File i podać nazwę dołączanego pliku. Funkcję główną: void main() należy umieścić właśnie w tym pliku. Będzie ona widoczna także w folderze Globals w widoku klas. Nie zapomnij o dołączeniu pliku nagłówkowego stworzonej klasy. W funkcji głównej należy zademonstrować działanie poszczególnych funkcji składowych opracowanej klasy. 10

11 Zajęcia 3: Rozbudowa projektu cz. I: konstruktor, destruktor, zagadnienie listy dwukierunkowej (podwójnie łączonej) Zagadnienia z tego ćwiczenia obejmują umiejętności: ustawiania składowych klasy w konstruktorze; dynamicznego przydziału pamięci za pomocą operatora new; zwalniania dynamicznie przydzielonej pamięci za pomocą operatora delete; poruszania się wskaźnikiem po elementach listy; opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji składowych opracowanych klas; 11

12 Zajęcia 4: Interfejs w trybie tekstowym W tym ćwiczeniu należy zaprojektować prosty interfejs w trybie tekstowym o następujących opcjach: Wprowadzanie nowego obiektu na listę zatrudnionych; Usuwanie obiektu z listy; Wypisywanie całej listy na ekran; Przeszukiwanie listy; Zapisywanie do pliku całej listy (użycie funkcji strumieniowych do uzupełnienia na zajęciach 5); Odczytywanie listy z pliku (użycie funkcji strumieniowych do uzupełnienia na zajęciach 5); 12

13 Zajęcia 5: Rozbudowa projektu cz. II: konstruktor domyślny, konstruktor kopiujący,, dynamiczna alokacja pamięci, funkcje operatorowe Zagadnienia z tego ćwiczenia obejmują umiejętności: zdefiniowania konstruktora domyślnego (np. z argumentami domniemanymi); ustawiania składowych klasy na liście inicjalizacyjnej konstruktora; dynamicznego tworzenia tablic przydział pamięci za pomocą operatora new; zwalniania dynamicznie przydzielonej pamięci za pomocą operatora delete; zdefiniowania konstruktora kopiującego; zdefiniowania operatora przypisania; zdefiniowania funkcji operatorowych według instrukcji w ćwiczeniu; zdefiniowania zaprzyjaźnionych funkcji operatorowych (<<, >>) skojarzonych ze standardowymi strumieniami wyjścia, wejścia; opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji składowych opracowanych klas. 13

Zajęcia 6, 7: Mechanizm dziedziczenia, funkcje wirtualne cz. I, II. 14 Zagadnienia z tego ćwiczenia obejmują umiejętności: zdefiniowania konstruktora klasy pochodnej (wywołanie konstruktora klasy podstawowej); przydziału/zwalniania pamięci dla tablicy wskaźników; wykorzystania (użycia) zdefiniowanych funkcji klasy podstawowej w klasie pochodnej (w tym operatorowych); zastosowania standardowych konwersji przy dziedziczeniu; użycia mechanizmu wirtualności; opracowania funkcji głównej tak, by demonstrowała (testowała) działanie poszczególnych funkcji. 14