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

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

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: Piątek: 14:15-15:30

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

Języki i paradygmaty programowania

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Programowanie 2. Język C++. Wykład 3.

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Język C++ wykład VIII

Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.

Język C++ Różnice między C a C++

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Zaawansowane programowanie w języku C++ Programowanie obiektowe

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie II C16

Podstawy algorytmiki i programowania - wykład 4 C-struktury

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C6

Programowanie - wykład 4

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Wstęp do Programowania 2

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie, część I

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2012/2013. Przedmioty kierunkowe

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Języki Programowania z Programowaniem Obiektowym laboratorium (30 godzin/semestr)

Programowanie 2. Język C++. Wykład 9.

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2012/2013

KARTA KURSU. Programowanie obiektowe

Programowanie (C++) NI 5

Operacje wejścia/wyjścia odsłona pierwsza

wykład V uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C++ klasy i obiekty wykład V dr Jarosław Mederski Spis Język C++ - klasy

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Wykład 8: klasy cz. 4

Wstęp do informatyki- wykład 7

Programowanie obiektowe w języku C++ Zarządzanie procesami. dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PARADYGMATY PROGRAMOWANIA Wykład 4

Podstawy programowania skrót z wykładów:

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27

Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

dr inż. Jarosław Forenc

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 7 maja K.Grzelak (Wykład 8) Programowanie w C++ 1 / 31

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Programowanie Obiektowew języku C++ Zadania L4

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Część 4 życie programu

public: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje

Wyjątki (exceptions)

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie i struktury danych

Programowanie Obiektowe i C++

Organizacja kursu, paradygmaty, ogólnie o C i C++

Plik klasy. h deklaracje klas

Programowanie, część I

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Informatyka 2. Informatyka 2. Wykład nr 1 ( ) Dane podstawowe. - Wydział Elektryczny. Politechnika Białostocka. Program wykładu (1/2)

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.

Konstruktor kopiujacy

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Zaliczenie przedmiotu:

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

PARADYGMATY PROGRAMOWANIA Wykład 2

Zaawansowane programowanie w C++ (PCP)

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

Programowanie w języku C++

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Wstęp do Programowania 2

Semestr letni Brak Tak

Wstęp do informatyki- wykład 11 Funkcje

I - Microsoft Visual Studio C++

C++ - [4-7] Polimorfizm

Wstęp do informatyki- wykład 9 Funkcje

ATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:

dr inż. Jarosław Forenc

Wstęp do programowania. Wykład 1

TEMAT : KLASY POLIMORFIZM

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Programowanie Obiektowew języku C++ Zadania L4

Programowanie komputerowe. Zajęcia 7

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

Transkrypt:

Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory, destruktory. Definiowanie operatorów. Strumieniowe operacje we/wy. Wskaźnik this. Operatory new, delete. Funkcje zaprzyjaźnione. Klasa z dynamicznie alokowaną tablicą składowych. Pola i metody statyczne. Dostępność składowych klasy. Klasa z polem obiektowym. Program przedmiotu c.d.: Dziedziczenie, polimorfizm i metody wirtualne. Jak realizowany jest mechanizm wirtualności? Metody czysto wirtualne i ATD. Obsługa błędów. Obsługa wyjątków. Wyjątki jako mechanizm sterujący. Konwersje, operatory konwersji i konwertery. Definiowanie i wykorzystanie szablonów funkcji. Definiowanie i wykorzystanie szablonów klas. Elementy biblioteki STL. Literatura B. Stroustrup Język C++ (The C++ Programming Language), WNT 2002 S.B. Lippman Podstawy języka C++ (C++ Primer), WNT 1997 J. Grębosz Symfonia C++ standard, Edition 2005 J. Liberty Poznaj C++ w 10 minut, Intersoftland 1999 Nicolai M. Josuttis - C++ Biblioteka standardowa. Podręcznik programisty, Helion 2003-1- -2- -3- -4-

Zadanie na początek Chcemy napisać program, który umoŝliwi wykonywanie prostych obliczeń na liczbach zespolonych. ; void Read ( CMPLX& a ) cin >> a.re; cin >> a.im; Przykład #1 Zadanie zrealizujemy najpierw wykorzystując środki języka C++ znane nam juŝ z wykładu AiPP. Następnie zobaczymy, jak moŝe to wyglądać w języku C++ z wykorzystaniem pojęcia klasy. double Abs ( CMPLX a ) return sqrt ( a.re * a.re + a.im * a.im ); CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) CMPLX x,y,z; double result; Read ( x ); Read ( y ); result = Abs ( z ); cout << "Result = << result; ; void Read ( CMPLX& a ) cin >> a.re; cin >> a.im; CMPLX Add ( CMPLX a, CMPLX b ) double Abs ( CMPLX a ) return sqrt ( a.re * a.re + a.im * a.im ); int main ( ) double result; Read ( x ); Read ( y ); result = Abs ( z ); cout << Result = << result; -5- -6- -7- -8-

Struktura programu Przykład #1 Przykład #2 double Abs ( ) return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re; cin >> Im; ; CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) cout << \nresult = << z.abs ( ) << endl; #include < iostream > #include < cmath > ; double Abs ( ) return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re; cin >> Im; CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) cout << \nresult = << z.abs ( ) << endl; -9- -10- -11- -12-

Przykład #2 Przykład #2. double Abs ( ) return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re; cin >> Im; ; CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) double Abs ( ) const return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re >> Im; ; CMPLX Add ( CMPLX a, CMPLX b ) int main ( ) cout << \nresult= << z.abs ( ) << endl; cout << \nresult= << z.abs ( ) << endl; Przykład #2.. Struktura programu Przykład #2 double Abs ( ) const return sqrt ( Re * Re + Im * Im ); void Read ( ) cin >> Re >> Im; ; CMPLX operator+ ( CMPLX a, CMPLX b ) int main ( ) z = x + y; // równowaŝne: z = operator+ ( x, y ); cout << \nresult= << z.abs ( ) << endl; -13- -14- -15- -16-

Nasz program przykładowy moŝemy zapisać w trzech plikach: Struktura programu Przykład #3 cmplx.h plik nagłówkowy klasy (definicja klasy CMPLX i deklaracje funkcji wspomagających), cmplx.cpp plik implementacyjny klasy (definicje metod klasy CMPLX i definicje funkcji wspomagających), progmain.cpp główny plik aplikacji (definicja funkcji main i ewentualnie definicje innych funkcji programu). Plik nagłówkowy (definicja klasy CMPLX) // cmplx.h // cmplx.cpp Plik implementacyjny klasy CMPLX #include < iostream > #include < cmath > #include cmplx.h ; double Abs ( ) const; void Read ( ); double CMPLX :: Abs ( ) const return sqrt ( Re * Re + Im * Im ); CMPLX operator+ ( CMPLX, CMPLX ); void CMPLX :: Read ( ) cin >> Re >> Im; CMPLX operator+ ( CMPLX a, CMPLX b ) -17- -18- -19- -20-

// myprog.cpp Główny plik aplikacji Struktura programu Przykład #3 #include < iostream > #include cmplx.h int main ( ) z = x + y; cout << \nresult = << z.abs ( ) << endl; Koniec wykładu 1. -21- -22- -23-