Jzyk C++ cz 5 dziedziczenie. Jarosław Gramacki Instytut Informatyki i Elektroniki & ' ( ) * #% +% %, %-##. %-*+ + +# ) + #### # '/01,%*1 %
|
|
- Włodzimierz Brzeziński
- 7 lat temu
- Przeglądów:
Transkrypt
1 Jzyk C++ cz 5 dziedziczenie Jarosław Gramacki Instytut Informatyki i Elektroniki " ###$ % #% & ' ( ) * #% +% %, %-##. %-*+ + +# ) + #### # '/01,%*1 % ##.-'# 2 % + -+#+( ) ###%# #3/ 0 %+!% 0' '// * #! ) %+ ####..'' * #'%! ) '/% 4* %+'#%. * #' ) # %+'# %-* * #'! 2
2 " ###$%# -%#*'%, # #/# '/% 5 ##,-( 6%, # % 0 3 #nazwisko!% %'biuro! -% %#* 7 % %'% '.3% * # +%'4*38# # 9#%,! : 5# ## '% -% +-%-*( ; % '/ 6% % %'!- 0#*%#% + /,#godziny! #,# stawka! <%# 6% - 0 '%'#'' # #*,#) ' %#;!= #% %procent!# # ' /%# sprzedaz! >#6% - 0 '%'pensja!=% premia!# #* %,+% -ile_pracowników!,(%' % > ' #,-#,# %-' %#% ; -<%# - # +'! 3 " ###$#/# # ) 7 0%+ +%#,%, # '/( %# / 0#% #/0#+ % -#% nazwisko biuro## '%# '/ 3# #.).3 '% # 3',?%# / 0###//% # '// % '%% % /'0!-'# 0#% +'! 4
3 " ###$#/# # class ( const char* _nazwisko, short _biuro = 0 ); ~() delete [] nazwisko; void print() const; void set_biuro( short _biuro ) biuro = _biuro; const char* get_telefon() const; private: char* nazwisko; short biuro; ; %- ',# A #/' ::( const char* _nazwisko, short _biuro) : biuro( _biuro ) nazwisko = new char [ strlen( _nazwisko) + 1 ]; strcpy( nazwisko, _nazwisko ); lista inicjalizacyjna nie jest ograniczona jedynie do pól const (patrz poprzedni wykład)! 5 " ###$#/# # void ::print() const cout << " " << nazwisko << " :" << endl; cout << "biuro = " << biuro << ", " << "tel. = " << get_telefon() << endl; const char* ::get_telefon() const static const char* tel[] = "0000", "1111", "2222", "3333", "4444"; // symulacja uzyskiwania numeru telefonu return tel[ biuro ];! 6
4 " ###$#/# # % ' ###%*# '#0.'!>###% +'B0# %-C' class : public ( const char* _nazwisko, int _biuro = 0, float _stawka = 0.0, float _godziny = 0.0 ); void print() const; void set_stawka( float _stawka ) stawka = _stawka; void set_godziny( float _godziny ) godziny = _godziny; float oblicz_place() const; private: float stawka; float godziny; ;! 7 " ###$#/# # ::( const char* _nazwisko, int _biuro, float _stawka, float _godziny ) : ( _nazwisko, _biuro ), stawka( _stawka ), godziny( _godziny ) # #! ' void ::print() const ' % ' # #0' ::print(); cout << "Stawka godzinowa = " << stawka << ", " << "Liczba przepracowanych godzin = " << godziny << endl; float ::oblicz_place() const return stawka * godziny;! 8
5 " ###$#/# # void main() p1( "Kowalski", 2 ); p1.print(); p1.set_biuro( 5 ); p1.print(); // ::print() // ::set_biuro() // ::print() e1( "Malinowski", 3, 70.0, ); e1.print(); // ::print() e1.set_biuro( 4 ); // ::set_biuro() // 3 -> 4 e1.set_stawka( 75.0 ); // ::set_stawka() // > 75.0 e1.print(); // ::print()! 9 " ###$ # #/# ) '/ % stawka, godziny! set_stawka(), set_godziny(), oblicz_place()!#% % %% % % ' * ) print() # 0%'0print()# ) # ::print() # # ::print()! 10
6 " ###$ # #/# ) * %+' 0%#+-%*#+ '' * #'#,*0/# #'%! e1( "Kowalski", 3, 70.0, ); e1.print(); // ::print() e1.set_biuro( 4 ); // ::set_biuro() ) %+ # 3#-% + '' * #' &1# 301#./'%*#'#'D! void ::print() const // ::print(); tak jest teraz... // a tak bdzie le... // BLAD: ::nazwisko jest w sekcji private cout << "" << nazwisko << " :",, endl;! 11 " ###$ # #/# ) # ::print(),print() %'# %00 %, E% # ::'0#*0 F ' # +#, %+ ' 0# * #' void ::print() const ::print(); // OK print(); // BLAD, wywołujemy ::print();! 12
7 " ###$ # #/# ) '. * # ' # 3 # # * %+'%% # ' #'/0 -*###! ) 0# %+'.3 * #'%# #'/ %! ::( const char* _nazwisko, int _biuro, float _stawka, float _godziny ) : ( _nazwisko, _biuro ), stawka( _stawka ), godziny( _godziny ) * #' ' # ' # *! B#, # '!. * #'D ' # ' % # A! ' # ' %# +%-! 13 " %# %# class : public ( const char* _nazwisko, short _biuro = 0, float _pensja = 0.0, float _premia = 0.0, int _ile_pracownikow = 0); void print() const; void set_pensja( float _pensja ) pensja = _pensja; void set_premia( float _premia ) premia = _premia; void set_ile_pracownikow( int _ile_pracownikow ) ile_pracownikow = _ile_pracownikow; float oblicz_place() const; private: float pensja; float premia; int ile_pracownikow; ; :: ( const char* _nazwisko, short _biuro, float _pensja, float _premia, int _ile_pracownikow ) : ( _nazwisko, _biuro ), pensja( _pensja ), premia( _premia ), ile_pracownikow( _ile_pracownikow )! 14
8 " %# %# void ::print() const ::print(); cout << "pensja = " << pensja << ", " << "premia = " << premia << endl; cout << "Liczba nadzorowanych pracownikow = " << ile_pracownikow << endl; float ::oblicz_place() const return pensja + premia;! 15 " %# %# class : public ( const char* _nazwisko, short _biuro = 0, float _stawka = 0.0, float _godziny = 0.0, float _procent = 0.0, float _sprzedaz = 0.0 ); void print() const; void set_procent( float _procent ) procent = _procent; void set_sprzedaz( float _sprzedaz ) sprzedaz = _sprzedaz; float oblicz_place() const; private: float procent; float sprzedaz; ; ::( const char* _nazwisko, short _biuro, float _stawka, float _godziny, float _procent, float _sprzedaz ) : ( _nazwisko, _biuro, _stawka, _godziny ), procent( _procent ), sprzedaz( _sprzedaz ) void ::print() const ::print(); cout << "procent = " << procent << ", " << "od sprzedazy = " << sprzedaz << endl; float ::oblicz_place() const return ::oblicz_place() + procent * sprzedaz;! 16
9 " %,,- void main() s1( "Kowalski" ); <%# *#%.0% '::set_biuro() set_biuro() # %# s1.set_biuro( 1 ); // ::set_biuro() s1.set_stawka( 90.0 ); // ::set_stawka() s1.set_godziny( ); // ::set_godziny() s1.set_procent(.05 ); // ::set_procent() s1.set_sprzedaz( ); // ::set_sprzedaz() s1.print(); // ::print() cout << "Placa = " << s1.oblicz_place() << endl; d1( "Malinowski" ); d1.set_biuro( 2 ); // ::set_biuro() d1.set_pensja( ); // ::set_pensja() d1.set_premia( ); // ::set_premia() d1.set_ile_pracownikow( 25 ); // ::set_ile_pracownikow() d1.print(); // ::print() cout << "Placa = " << d1.oblicz_place() << endl;! 17 " ###$ * #, %! 18
10 " ' *-+ + ) % %##,-+ ( - nazwisko, biuro - nazwisko, biuro, stawka, godziny ) '/*#%.,0%%-% + -###/# ) *%% ' %#+'% 0 ) 03%-*'*% *% (' * %+' * * #'! void main() p1 ( "Malinowski" ); e1 ( "Kowalski", 2, 75.0, ); e1.print(); p1 = e1; // OK : Konwersja ->. p1.print(); // to samo osigniemy gdy napiszemy: e1.::print(); 6# %, ( Kowalski Biuro = 2, tel. = 2222 Stawka godzinowa = 75, Liczba przepr. godzin = 169 % Kowalski Biuro = 2, tel. = 2222! 19 " ' *-+ + ) % %##,-+ ( - nazwisko, biuro - nazwisko, biuro, stawka, godziny ) ' %, % %-*p1 %+%-*e1 ) 0' /'0* %+' * * #' ) # '!' %# 0' void main() e1( "Kowalski", 2, 75.0, ); p1( "Malinowski" ); e1.print(); p1 = e1; // OK : Konwersja ->. e1 = p1; // BLAD : Konwersja -> jest niemoliwa p1.print(); 2' * # $$G %+ %# *%% ' 3 +%- + %+'! 20 %
11 " ' C-*-+ + ) %*,/ ' %#' C- *- ) C* %+'%, #'' C * * #' ) *0 '/7#. ' #- '' void main() s( "Wincenty", 2, 75.0, 169.0, 0.05, ); * ptr_s = &s; * ptr_e = ptr_s; // OK : konwersja (*) -> (*) * ptr_p = ptr_s; // OK : konwersja (*) -> (*) ptr_s->set_biuro( 3 ); // OK : ::set_biuro() ptr_e->set_biuro( 4 ); // OK : ::set_biuro() ptr_p->set_biuro( 5 ); // OK : ::set_biuro() %H% %H ptr_s->set_stawka( 85.0 ); // OK : ::set_stawka() ptr_e->set_stawka( 95.0 ); // OK : ::set_stawka() ptr_p->set_stawka( 98.0 ); // BLAD: nie istnieje ::set_stawka() %H ptr_s->set_sprzedaz( ); // OK : ::set_sprzedaz() ptr_e->set_sprzedaz( ); // BLAD: nie istnieje ::set_sprzedaz() ptr_p->set_sprzedaz( ); // BLAD: nie istnieje ::set_sprzedaz()! 21 " ' C-*-+ + ) ',/0' C * * #' #0'! C* %+'!, ',% %, ' 7' #! void main() s( "Wincenty", 2, 75.0, 169.0, 0.05, 1000 ); * ptr_e = &s; // OK : konwersja (*) -> (*) p( "Jan", 3, 70.0, 169.0); * ptr_s = &p; // BLAD: nie jest wykonywana automatyczna konwersja (*)->(*) ptr_s -> sprzedaz = 2000; // BLAD: ptr_s wskazuje na p, ktory nie zawiera pola "sprzedaz" ptr_s = (*) ptr_e; // OK: jawna konwersja ptr_s -> sprzedaz = 2000; // OK %H! 22 %H
12 " '!% ) '% * public private6### '- protected ) % # 'protected # +'/0' % % ' '%+'!#'/0%+ %-' **%*# ) +# / %#'- %+'#* +'*0/ ' # %#' C# / ) /, I protected%# * % '* %, #0#, '%++ ) 3protected I J #' + /+% 0+ + %++! 23 " '!% ) (+ % ' # private. ;# # *#%# %0# public private )?+* '#!(% ' * #'#3#* # %+-*#%.# '/#''%-protected! 24
13 " '!% class Bazowa void f(); int publ; protected: int prot; private: int priv; ; void Bazowa::f() publ = 1; // OK : komponent publiczny prot = 2; // OK : f() to funkcja skladowa klasy Bazowa priv = 3; // OK : f() to funkcja skladowa klasy Bazowa class Pochodna : public Bazowa void g(); ; void Pochodna::g() publ = 1; // OK : komponent publiczny prot = 2; // OK : dozwolony dostep do komponentu protected priv = 3; // BLAD: niedozwolony dostep do komponentu private. E20%%##'0 * #' E20%%##'0 %+' void main() Bazowa b; b.publ = 1; // OK : komponent publiczny b.prot = 2; // BLAD: niedozwolony dostep do komponentu protected poprzez obiekt typu Bazowa b.priv = 3; // BLAD: niedozwolony dostep do komponentu private. Pochodna d; B/0%*#%.# %##'0 * #'* %+' d.publ = 1; // OK : komponent publiczny d.prot = 2; // BLAD: niedozwolony dostep do komponentu protected poprzez obiekt typu Pochodna d.priv = 3; // BLAD: niedozwolony dostep do komponentu private.! 25 " ####, #! 26
14 " ###% %! ) '% '/+ #### ##. public %# # * #' ) ###' '#0.'! ) ###public #%public protected * #' /0% '' %+' %private / ) '/%#%, # + + +!' %% # 0% '#! class Bazowa void f(); int a, b; private: float c, d; ; class Pochodna : public Bazowa void g(); ; void main() Pochodna d; d.a = 1; d.b = 2; d.f(); Bazowa Pochodna public 2%%*# Bazowa%# '/%*# Pochodna ;, #0#% *#%.%# # 3# %. *#,% 0 Pochodna // dostp do elementów publicznych klasy bazowej! 27 " ###% %! ) ###private0% %K# *#%# ) ###private%# %#'' 30%.3%- * #'#%# %+' ) ###private #% * #'# +'/0 ' %private %+' ) % * #'/00%/## %/' + %+'*#%.0%'0$ +#! class Bazowa void f1(); void f2(); int a, b; private: float c, d; ; Bazowa Pochodna private class Pochodna : private Bazowa Bazowa::f1(); // jawna autoryzacja dostpu do wybranych Bazowa::a; // komponentów klasy Bazowa (robimy to w sekcji public!) ; void main() Pochodna d; d.a = 1; // OK d.b = 2; // BŁAD d.f1(); // OK d.f2(); // BŁD B *#%.,0% %- * #' & 0# # 30% * +%- * #'! 28
15 " ###+%! ) ###protected#%public protected * #'# +'/0' %protected %+'/ 0% %, #0#,! ) % #' %+'#'/ 0%# - '' +' ' + class Pochodna : protected Bazowa... Bazowa Pochodna protected #'( %, #0#4* # ' %+' '/0%'''' L#'' #0#*0III! 29 " ###+%! ) ### private class Pochodna : Bazowa // UWAGA! domylnie bdzie dziedziczenie private... ; void main() Pochodna d; d.a = 1; // BŁAD d.b = 2; // BŁAD j.w d.f1(); // BŁAD j.w. d.f2(); // BŁD j.w. %'' %#public *0# 'D!private próba dostpu do komponentu private! 30
16 " '###public, private, protected, # K# ) %- ' ## 'C,%0# #.' #, ( ) ' $ '% %*% ) %*### $% %*% ) ' #'%#% D! 31 " ### ) # '# ###/'+ ) + $# #/# %./% -+ #! $ #'%' #%0#.%# + #! ) *%Handlowy 0%%-%*#+! Handlowy! 32
17 " ### class Handlowy : public, public Handlowy( const char* _nazwisko ); //... ewentualnie pozostale funkcje ; Handlowy::Handlowy( const char* _nazwisko ) : ( _nazwisko ), ( _nazwisko ) void main() Handlowy jk( "Jan Kowalski" ); Handlowy jk.set_pensja( ); // ::set_pensja() jk.set_premia( ); // ::set_premia() jk.set_ile_pracownikow( 5 ); // ::set_ile_pracownikow() jk.set_procent( ); // ::set_procent() jk.set_sprzedaz( ); // ::set_sprzedaz()! 33 " ###%* ) ###'' % *0 ) ' #%./ * #/ Handlowy ) *%Handlowy % 0 %%- /+ void main() Handlowy jk( "Jan Kowalski" ); jk.set_pensja( ); jk.set_premia( ); jk.set_ile_pracownikow( 5 ); jk.set_procent( ); jk.set_sprzedaz( ); // ::set_pensja() // ::set_premia() // ::set_ile_pracownikow() // ::set_procent() // ::set_sprzedaz() jk.set_biuro( 2 ); // BLAD : instrukcja niejednoznaczna cout << jk.get_telefon() << endl; // BLAD : instrukcja niejednoznaczna jk.::set_biuro( 2 ); // OK. cout << jk.::get_telefon() << endl; // OK. jk.print(); // BLAD: ::print() czy ::print()? % # +3'*/%'. #+ '*jk '#0. '#.,#* ::print() #::print()! 34
18 " ###%* ) %*%#' ) %# #%''' %+' * #' * pp = &jk; // BLAD : instrukcja niejednoznaczna // wskazujemy dan gał dziedziczenia * pp = (*) &jk ; 7 -/#%%- ; # 3 C%%I Handlowy! 35 " ###$ * # ) *%Handlowy% # %-###+# # *!7'#.#,# ##./ ) virtual%## %++*#%. /,.3 ) virtual %# % %- -',! ) ''# #% # #.'/ #E2 class : public virtual... ; class : public virtual... ; virtual %#+ % #+# Handlowy! 36
19 " ###$ * # ) %#### ##+ % ' 3 '' ' * #','''*#%.%! class : public virtual... ; class : public virtual... ; class Handlowy : public, public Handlowy( const char* _nazwisko ); void print() const ; ::print(); ::print();... Handlowy 6 Handlowy::print() %'. '%+#/+# ::print(). M*#3 *# 3# 'print() '+ +!!! Handlowy::Handlowy( const char* _nazwisko ) : ( _nazwisko ), ( _nazwisko ), ( _nazwisko ),*%%#! 37 " ###, ) ###'% *0 ), %', 3%#% +###,'#! ) %'/ 0Handlowy ''%#%3# ###3!,%'/,# %' % %# '.%#! 38
PARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoJzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (07.12.2012) dr inż. Jarosław Forenc Rok
Bardziej szczegółowo!!" % & $ ( # # ( ( # ( ( TalentowiSKO talenty dodajemy, mnoīymy, potċgujemy. e-mail: TalentowiSKO@bankbps.pl tel. +48 22 53 95 231 TalentowiSKO.
!!" #$ % &!! "! # $ %! "! # # # % & '( ( '( ) $ "! $ $ "! #'$ ( * ( $ # +, - ( ( ( (( (# $ (#. (. $ ( ' ( $ ( '. ' ( / ( # ( ( ( $(## ( 0 $ '( $ $ $ $ (# ( ( (# * ' / ( $ #)$ & " 0 ) ( (... (. % *. / (.()
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoJę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.
- - uzupełnienie notatek: dr Jerzy Białkowski - - 1-2 - - - 1 #include 2 #include 3 # include 4 using namespace std ; 5 6 class Punkt { 7 8 private : 9 double
Bardziej szczegółowoWprowadzenie do programowanie obiektowego w języku C++
Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoProgramowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Bardziej szczegółowoAbstrakcyjny typ danych
Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 2
PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych
Bardziej szczegółowoProgramowanie obiektowe w języku
Programowanie obiektowe w języku C++ Stanisław Gepner sgepner@meil.pw.edu.pl Dziedziczenie Wstęp Zacznijmy od przykładu Przykład rolniczy Każde zwierzątko wydaje dźwięk Każde się tak samo porusza Musimy
Bardziej szczegółowoProjektowanie i programowanie obiektowe (materiały do wykładu cz. VI)
Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Konstruktory i destruktory
Bardziej szczegółowoProgramowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 14 Katarzyna Grzelak 3 czerwca 2019 K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27 Na ostatnim wykładzie: Konstruktor standardowy (domyślny) to taki, który nie ma żadnych argumentów
Bardziej szczegółowoProgramowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Bardziej szczegółowoKlasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Bardziej szczegółowoProgramowanie obiektowe Wykład 7. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Relacja ma Przykłady relacji typu ma : Student ma nazwisko Wielokąt ma wierzchołki (punkty) Stos ma elementy Dla obiektów
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Pojęcie struktury i klasy. Konstruktor i destruktor. Spotkanie 08 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Spotkanie 08 Klasy: definicja a deklaracja klasy dane składowe
Bardziej szczegółowo2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy
2.4 Dziedziczenie Poprzednie dwa rozdziały które dotyczyły zagadnienia automatów komórkowych na przykładach programów w C++. Mogłyby one sugerować że niekoniecznie trzeba programować obiektowo aby napisać
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład Relacje między klasami, klasy zagnieŝdŝone, klasy lokalne
3.1 Relacje między klasami, klasy zagnieŝdŝone, klasy lokalne... 1 3.2 Zaprzyjaźnione klasy, specyfikator friend... 3 3.3 Zaprzyjaźnione funkcje, metody z klasą... 4 3.4 Relacje dziedziczenia... 6 3.5
Bardziej szczegółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoWykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład V - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Programowanie obiektowe Dziedziczenie (inheritance) - mechanizm
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Bardziej szczegółowoPROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Bardziej szczegółowoProgramowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 9.
9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,
Bardziej szczegółowoDziedziczenie. Ogólna postać dziedziczenia klas:
Dziedziczenie Ogólna postać dziedziczenia klas: class nazwa_clasy_pochodnej : specyfikator_dostępu nazwa_clasy_bazowej specyfikator_dostępu : public private protected Specyfikator dostępu definiuje, w
Bardziej szczegółowoInformatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie
Materiały: Informatyka II Laboratorium : Programowania obiektowe C++ - dziedziczenie Książka: Symfonia C++, Jerzy Grębosz. Wykład: www.materialy.prz-rzeszow.pl, Informatyka II, dr Wojciech Rząsa. Zasoby
Bardziej szczegółowoNowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza)
Różnice między C i C++ (Rozszerzenia C++) Nowe słowa kluczowe class, delete, new, friend,... Komentarze /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza) Wskaźniki typu void W C wskaźniki
Bardziej szczegółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 2.
2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...
Bardziej szczegółowoIMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Bardziej szczegółowowykł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
i obiekty Programowanie i obiekty uzupełnienie notatek: dr Jerzy Białkowski i obiekty 1 2 3 4 i obiekty Obiektowość języka C++ Na tym wykładzie poznamy: ˆ Klasa (w języku C++ rozszerzenie struktury, typ
Bardziej szczegółowoJę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.
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Bardziej szczegółowoProgramowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 6.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 6.11.2006 1 / 138 Operator przypisania Jest czym innym niż konstruktor kopiujacy!
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoWstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Pojęcie konstruktora i destruktora. Spotkanie 04 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Pojęcie konstruktora Konstruktor domyślny Konstruktor sparametryzowany Konstruktor
Bardziej szczegółowoJęzyki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003
Bardziej szczegółowoProgramowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26
Programowanie w C++ Wykład 13 Katarzyna Grzelak 4 czerwca 2018 K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoOperator przypisania. Jest czym innym niż konstruktor kopiujący!
Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoProgramowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl
Bardziej szczegółowoKonstruktor kopiujacy
Konstruktor kopiujacy Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostępniony
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L4
Programowanie Obiektowew języku C++ Zadania L4 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoProgramowanie obiektowe w języku C++ Zarządzanie procesami. dr inż. Jarosław Forenc. Przeładowanie (przeciążanie) operatorów
Rok akademicki 2016/2017, Wykład nr 5 2/40 Plan wykładu nr 5 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoZaawansowane programowanie w języku C++ Klasy w C++
Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoQt sygnały i designer
Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan
Bardziej szczegółowoC++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.
C++ - DZIEDZICZENIE Do najważniejszych cech języka C++ należy możliwość wielokrotnego wykorzystywania kodu Prymitywnym, ale skutecznym sposobem jest kompozycja: deklarowanie obiektów wewnątrz innych klas,
Bardziej szczegółowoDziedziczenie & W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.
Dziedziczenie 27.04.2016 & 04.05.2016 W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.ppt class A{ private: int x, y; public: void setvaluex(); void setvaluey();
Bardziej szczegółowoProgramowanie obiektowe w języku C++ dr inż. Jarosław Forenc
Rok akademicki 2016/2017, Wykład nr 4 2/45 Plan wykładu nr 4 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017
Bardziej szczegółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowoEGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++
IMIĘ i NAZWISKO: przykładowe odpowiedzi NR: 0 EGZAMIN 2 (14 WRZEŚNIA 2015) JĘZYK C++ 1. Napisz precyzyjnie co to jest ptr jeśli: const * const Foo ptr; ptr to stały wskaźnik do stałego obiektu typu Foo
Bardziej szczegółowoC++ - [4-7] Polimorfizm
Slajd 1 z 14 C++ - [4-7] Polimorfizm Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 20 maja 2013 r. Slajd 2 z 14 Polimorfizm i klasa polimorficzna POLIMORFIZM (cytat z Wikipedii) (wielopostaciowość)
Bardziej szczegółowoProgramowanie Obiektowo Zorientowane w języku c++ Konstruktory
Programowanie Obiektowo Zorientowane w języku c++ Konstruktory Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoProgramowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody
Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. Metody stałe w klasie
Metody stałe w klasie Zadeklarowanie metody jako stałej stanowi obietnicę, że wykonanie tej metody nie zmieni stanu obiektu, na rzecz którego została wykonana Umieszczamy const między nawiasem zamykającym
Bardziej szczegółowoSzablony. Szablony funkcji
Szablony Szablony sa mechanizmem ponownego wykorzystania kodu (reuse) W przypadku funkcji ponownie wykorzystany jest algorytm W przypadku klas ponownie wykorzystane sa wszystkie skladowe Deklaracja szablonu
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe 10.04.2017 W slajdach są materiały zapożyczone z https://www.ii.uni.wroc.pl/~prz/2012lato/cpp/slajdy/cpp5.ppt Przykład wykorzystania obiektu Obiekt X jest instancją klasy Y Obiekt
Bardziej szczegółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoInformatyka 2. Wykład nr 3 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2008/2009 Wykład nr 3 (05.11.2008) Rok akademicki 2008/2009, Wykład
Bardziej szczegółowoTEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Bardziej szczegółowoModelowanie numeryczne w fizyce atmosfery Ćwiczenia 3
Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat
Bardziej szczegółowoPlik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
Bardziej szczegółowoWyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska
Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania
Bardziej szczegółowoEGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi
EGZAMIN PROGRAMOWANIE II (10 czerwca 2010) pytania i odpowiedzi 1. Napisz wskaźnik do funkcji fun tak zdeklarowanej: T* fun( int, double const& ) const; definicja wskaźnika musi być precyzyjna, inaczej
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Przeciążanie operatorów Funkcje zaprzyjaźnione Na
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 4. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Dziedziczenie Przestrzenie nazw Na podstawie: A.
Bardziej szczegółowoDziedziczenie. Literatura:
Literatura: Slajdy do wykładu drugiego, trzeciego i czwartego. Stanley B. Lippman Josee Lajoie Podstawy języka C++. Stanley B. Lippman Istota języka C++. Bruce Eckel Thinking in C++ edycja polska. Bjarne
Bardziej szczegółowoW2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Bardziej szczegółowoATD. Wykład 8. Programowanie (język C++) abstrakcyjny typ danych. Abstrakcyjne typy danych (ATD) Metody czysto wirtualne. Definicje i uwagi:
Programowanie (język C++) Wykład 8. ATD abstrakcyjny typ danych Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Metody czysto wirtualne Metody czysto wirtualne otrzymujemy inicjalizując
Bardziej szczegółowoObiekty i metody stałe
Obiekty i metody stałe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoclass Student Deklaracja klasy Osoba: Deklaracja klasy Student:
Osoba Student Będziemy mieli 2 klasy: Osoba, dla której zapamiętamy dane takie jak: imie, nazwisko i wiek Oraz klasę Student, w której będziemy też dodatkowo pamiętać kierunek studiów. Deklaracja klasy
Bardziej szczegółowoC++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. Metody stałe w klasie
Metody stałe w klasie Zadeklarowanie metody jako stałej stanowi obietnicę, że wykonanie tej metody nie zmieni stanu obiektu, na rzecz którego została wykonana Umieszczamy const między nawiasem zamykającym
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Bardziej szczegółowoProblem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.
Maszyny stanów Programowanie gier bez Unity, cz. 3 Piotr Korgul Koło Naukowe Twórców Gier Polygon 3 grudnia 2014 r. Cykl Programowanie gier bez Unity 1 Jak zorganizować prace nad grą? 2 Jak działa gra?
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński
Składnia C++ Programowanie Obiektowe, część 3 Mateusz Cicheński Rzutowanie Implicit/explicit cast Reinterpret cast Static cast Z wykorzystaniem Run-time Type Information Obsługa wyjątków Czym jest wyjątek
Bardziej szczegółowoDzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 7
Programowanie komputerowe Zajęcia 7 Klasy Klasy to typy danych, które pozwalają na zgromadzenie w jednej zmiennej (obiekcie) zarówno danych jak i operacji związanych z tymi danymi. Obiekt danej klasy może
Bardziej szczegółowoTechniki Programowania wskaźniki 2
Techniki Programowania wskaźniki 2 Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Jeżeli wskaźnik pokazuje na element
Bardziej szczegółowoKLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany
KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie
Bardziej szczegółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoDziedziczenie i poliformizm
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2016 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu
Bardziej szczegółowoRzutowanie i konwersje
Rzutowanie i konwersje Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowotel Konsultacje www
Języki Programowania Prowadząca: dr inż. Hanna Zbroszczyk e-mail: e-mail gos@if.pw.edu.pl tel: tel +48 22 234 58 51 Konsultacje: Piątek: 12.00 13.30 www: http://www.if.pw.edu.pl/~gos/students/jp Politechnika
Bardziej szczegółowoProgramowanie Obiektowew języku C++ Zadania L9
Programowanie Obiektowew języku C++ Zadania L9 Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Bardziej szczegółowoProgramowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 11 Katarzyna Grzelak 13 maja 2019 K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30 Klasy cd K.Grzelak (Wykład 11) Programowanie w C++ 2 / 30 Klasy - powtórzenie Klasy typy definiowane
Bardziej szczegółowoPodstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm
Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm Mirosław Głowacki 1,2 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki
Bardziej szczegółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
Bardziej szczegółowo