Program cwiczen laboratoryjnych C/C++
Transkrypt
Program cwiczen laboratoryjnych C/C++
Języki i Paradygmaty programowania - cz 2 j. C++ - ćwiczenia laboratoryjne Warunki zaliczenia ćwiczeń laboratoryjnych: Obecność i aktywność na zajęciach - uruchomienie zadań i ćwiczeń - 15% Wykonanie i pozytywne zaliczenie projektu - 15% Uzyskanie pozytywnej oceny na kolokwium zaliczeniowym. 70% godz 1. 2. Treści Wprowadzenie: środowisko projektowe języka C++ w systemach Windows i Linux – powtórzenie z j. C - tablica struktur. Podstawowe operacje we/wy C++, przestrzeń nazw. - 1g. Rozszerzenia języka C++, modyfikator stałości const, typ wyliczeniowy enum, domyślne wartości argumentów funkcji, przeładowanie nazw funkcji, pojęcie sygnatury funkcji, funkcje rozwijalne w miejscu inline. typ referencyjny i jego zastosowanie. - 1g. 3. Wprowadzenie do klasy i obiektów: dostęp do składowych klasy (private, public), implementowanie metod klasy, obiektów. Konstruktory i destruktory - inicjalizacja obiektów, domyślny konstruktor, destruktor i jego zastosowania. - 1g. 4. Składowe stałe obiektu: ochrona zmiennych przed modyfikacją, stałe pola i metody składowe, lista inicjalizacyjna konstruktora, dostęp do składowych użycie wskaźnika this i operatora zakresu ::. - 1g. Referencje do obiektów i zaawansowany dostęp do obiektów: przekazywanie argumentów funkcji przez referencję, referencja do obiektu. Statyczne pola i metody - static., wskaźniki na składowe klasy, klasa biblioteczna string jako przykład wzorcowej klasy. - 1g. 5. 6. Selektywny dostęp: poprzez przyjaźń (friend),globalne i składowe funkcje zaprzyjaźnione, klasy zaprzyjaźnione, przeładowanie operatorów, przeciążenie operatora we/wy dla obiektu. – 2g 7,8. Konstruktory obiektów złożonych, domyślne i jawne konstruktory kopiujące i operatory przypisania, konwersje typu i operatory rzutujące. 2g. Dynamiczny przydział pamięci na stercie operatory new, delete. Obsługa alokacji pamięci na stercie, analiza błędów związanych z "wyciekiem" pamięci, tablice obiektów 2g. 9,10 11,12. 11,12. 13,14. 15,16. 17,18. 19,20. 21,22. 23,24. 25,26. 27,28. 29,30. Dziedziczenie: zabezpieczony dostęp do składowych (protected, argumenty konstruktorów bazowych, przesłanianie metod klasy bazowej, dziedziczenie wielopokoleniowe - selektywny dostęp. – 2g Metody wirtualne: pojęcie polimorfizmu, klasy abstrakcyjne, dostęp do metod wirtualnych. Dziedziczenie wielokrotne (wielobazowe): znaczenie, rozwiązywanie problemów, wyprowadzenie prywatne, Wejście, wyjście w C++, Pliki tekstowe i binarne. Przykład projektu - porównanie relacji pomiędzy obiektami - dziedziczenie a zawieranie. Definiowanie wyjątków. Standardowe klasy pojemnikowe (STL) Szablony funkcji i klas Identyfikacja typów – RTTI Kolokwium zaliczeniowe. Zaliczenie projektów i poprawa zaliczeń. Wykaz: materiałów pomocniczych, literatury podstawowej i uzupełniającej: Wykłady Źródła udostępnione na serwerze torus.uck.pk.edu.pl w katalogu /export/dydaktyka/jraszka/cpp Jerzy Grębosz Pasja C++, Symfonia C++, Edition 2000, wydanie 2009 r. Jesse Liberty ”C++ dla każdego”, „C++. Księga eksperta” Wydawnictwo HELION. Nicolai M. Josuttis, C++ Programowanie zorientowane obiektowo. Vademecum profesjonalisty, Kayshav Dattatri Język C++. Efektywne programowanie obiektowe - HELION, 2005 r. Bruce Eckel ,Thinking in C++. Edycja polska - Tom 1 Wydawnictwo HELION 2003 Jan Rusek ”ABC programowania w C++”, HELION, 2003 nr cw. .