Programowanie 2. Język C++. Wykład 1.
|
|
- Feliks Wacław Olszewski
- 8 lat temu
- Przeglądów:
Transkrypt
1 1.1 Wstęp Obiekty stałe Obiekty statyczne Wskaźniki Referencje Wskaźniki do wskaźników Definiowanie własnych typów danych, polecenie typedef Typ wyliczeniowy enum Obszary nazw Zakres zmiennych Zmienne extern Obszary pamięci Wstęp Środowisko programistyczne Microsoft Visual Studio Środowisko programistyczne (development environment) jest to zbiór narzędzi niezbędnych do powstania programu komputerowego. W skład środowiska programistycznego wchodzą: urządzenia wykorzystywane do pisania i testowania programów komputerowych, oprogramowanie, programy firmware'owe, standardy i procedury tworzenia oprogramowania, dokumentacja oprogramowania. Etapy tworzenia pliku wykonywalnego 'exe': preprocesor, kompilator, linker. Preprocesor: wykonuje dyrektywy w kodzie zaczynające się od #. usuwa komentarz z kodu. Przykłady dyrektyw dla preprocesora: #include, dołączanie plików nagłówkowych, np. #include <nazwapliku>, #include "nazwapliku", #define, kopiowanie stringów, makr, #pragma, instrukcje dla kompilatora. Kompilator - tłumaczy kod źródłowy napisany np. w języku C++ na kod asemblerowy. MS VS 2008 kompiluje pliki *.cpp, *.h, wyniki kompilacji zapisuje do plików: *.obj. Linker: łączy pliki *.obj, *.lib, *.dll, generuje plik wykonywalny *.exe. Baza linkera znajduje się w pliku *.ilk Tryby kompilacji: debug, release. Kompilacja w trybie 'debug': baza programu generowana przez linker'a zawiera informacje o przebiegu kompilacji w trybie debug. Informacje zawarte są w pliku *.pdb. Podczas kompilacji w trybie 'release' nie są tworzone pliki *.pdb. 1
2 Definicja: rozwiązanie (solution) - to grupa projektów MS VS Struktura projektu Microsoft Visual Studio 2008, szablon aplikacji konsolowej. Katalog \projekt1\ projekt1.sln, plik zawiera informacje o konfiguracji i położeniu plików dla rozwiązania, projekt1.suo, plik zawiera konfigurację rozwiązania specyficzne dla danego użytkownika, projekt1.ncb *.cpp, pliki programu, projekt1.vcproj, plik w formacie zawiera xml, zawiera parametry konfiguracyjne projektu, projekt1.vcproj.nazwahosta.nazwauzytkownika.user, plik w formacie zawiera xml, zawiera parametry konfiguracyjne projektu specyficzne dla danego użytkownika, katalog \Debug\ lub \Release\ o Projekt1.obj, o Projekt1.ilk, o Projekt1.pdb. Konwencje zapisu programu w projekcie. Nazwy zmiennych, funkcji typów powinny być opisowe i składać się z minimum dwóch wyrazów. Każdy wyraz powinien zaczynać się do dużej litery. Przykład. int WielkoscBufora = 1024; int OtworzOknoDialogowe() Obiekty stałe powinny być nazywane dużymi literami const int WIELKOSC_BUFORA = 1024; Stałe znakowe #define WIELKOSC_BUFORA 1024 Na ćwiczeniach można stosować do zapisu programu notację węgierską. Zasady notacji węgierskiej. litery typ przykład nazwy zmiennej i int int iliczba; d double double dliczba; c char char clitera; st string string stimie; litery nazwa przykład nazwy obiektu klasy st CString CString stbufor; sz CSize CSize sztext Nazwa wskaźnika zaczyna się od małej litery p. int * pliczba; 2
3 1.2 Obiekty stałe Stałe dosłowne (literały), czyli stałe które mają wartość ale nie mają nazwy. Każdy literał ma przypisany typ, np. 0 ma typ int, ma typ double. Literał typu int można zapisać w układzie 10-tkowym, 8-mkowym, 16-tkowym, np. 20, // 10-tkowy 024, //8-mkowy 0x14 //16-tkowy Literałom można przypisać typ, np. unsigned, long, unsigned long: 128u unsigned 1L long 102UL, 102Lu unsigned long Stałe zmiennoprzecinkowe mają domyślny typ double, ale można przypisać im typ float F // oznacza f // oznacza L // oznacza // oznacza E0f // oznacza E-3F // oznacza E1L // oznacza e0 // oznacza 0 Stałe znakowe reprezentują znaki, np. 'a', '\n', '\?', Stałe tekstowe to stringi, np. "programowanie 2" Modyfikator const. const <typ> <nazwa obiektu> = <wartość obiektu>; Przykład 1. Obiekt const, wskaźnik, referencja, stały wskaźnik, stała referencja do stałego obiektu. const double PI = 3.14; const double * const cppi = &PI; const double * ppi = &PI; const double &rpi = PI; const double const &crpi = PI; double PII = ; const double * const cppii = &PII; double * const cppii2 = &PII; Własności: 1. Obiektom const nie można zmienić wartości. 2. Obiekty const muszą być zawsze zainicjowane. 3. Obiekty const mogą służyć do określania wielkości tablicy. 4. Obiekty const mają zasięg w pliku w którym są zdefiniowane. 3
4 1.3 Obiekty statyczne static <typ> <nazwa obiektu> = <wartość>; Przykład 1. Definicja obiektu statycznego. static int is = 100; Własności: 1. Lokalny obiekty typu static zachowuje swoją wartość po zakończeniu funkcji. 2. Obiekty typu static obowiązują w jednym pliku. 3. Do obiektów static nie można stosować modyfikatora extern. 4. Obiekty static nie mogą być argumentami funkcji. 5. Nie można używać w deklaracjach typedef. Przykład 2. Lokalny obiekty typu static zachowuje swoją wartość po zakończeniu funkcji (w01-01-static.cpp). void f() static int si = 0; int i = 0; cout << "si = " << ++si << "\t" << " i = " << ++i << endl; void main() f(); f(); // si = 10; // błąd, zmienna lokalna si = 1 i = 1 si = 2 i = 1 4
5 1.4 Wskaźniki Programowanie 2. Język C++. Wykład 1. Definicja. Wskaźnik jest zmienną która przechowuje adres innej zmiennej. Definicja wskaźnika na stosie. <typ> *<nazwa_wskaźnika> = &<nazwa_zmiennej>; Przykład 1. Wskaźnik px ma wartość adresu zmiennej x, czyli &x. int x = 0; int *px = &x; Definicja. Sterta (heap) obszar pamięci służący do dynamicznego alokowania pamięci. Dynamiczne alokowanie pamięci odbywa się za pomocą operatorów new, delete. Definicja wskaźnika na stercie. <typ> *<nazwa_wskaźnika> = new <konstruktor typu>; //... delete <nazwa_wskaźnika>; Przykład 2. Wskaźnik na stercie. int *p = new int; *p = 123; //... delete p; Własności: 1. Wskaźnikowi można zmienić wartość, czyli przypisać adres innej zmiennej. 2. Poprzez wskaźnik można zmienić wartość zmiennej na który wskazuje. 3. Referencję można inicjować wskaźnikiem. 4. Wskaźnik można inicjować referencją. Przykład 3. Zmiana wartości i przypisania wskaźnika. int x = 100; int y = 200; int *p = &x; *p = 101; // jaka jest wartość x? p = &y; // jaka jest wartość *p? 5
6 Odpowiedź. cout << x << endl; cout << *p << endl; Przykład 4. Inicjowanie wskaźnika referencją i referencji wskaźnikiem. int x = 100; int *p = &x; int &rx= *p; int *pp = ℞ Przykład 5. Inicjowanie wskaźnika innym wskaźnikiem - placement new, (w01-02-placement-new.cpp). int * p1 = new int(0); void main() int *p2= new (p1)int(200); // placement new // int *p2= new int(200); cout << "*p1 = " << *p1 << endl; cout << "*p2 = " << *p2 << endl; cout << " p1 = " <<(long)p1 << endl; cout << " p2 = " <<(long)p2 << endl; cout << "&p1 = " <<(long)&p1 << endl; cout << "&p2 = " <<(long)&p2 << endl; delete p1; delete p2; *p1 = 200 *p2 = 200 p1 = p2 = &p1 = &p2 = Przykład 6. Inicjowanie wskaźnika stałym obiektem o wartości 0. const int cx = 0; int *pp = cx; 6
7 Przykład 7. Inicjowanie wskaźnika adresem zmiennej o typie wskaźnika. double x = 0; int *p = &x; // błąd unsigned double x = 99; double *p = &x; // błąd double x = 99; const double *p = &x; // ok 7
8 1.5 Referencje Programowanie 2. Język C++. Wykład 1. Definicja. Referencja jest typem danych który przechowuje adres zmiennej i której nie można zmienić przypisania Referencja jest stałym wskaźnikim do zmiennej, którego adres pokrywa się z adresem zmiennej. Referencja nie zajmuje pamięci. <typ> &<nazwa_referencji> = <nazwa_zmiennej>; Przykład 1. Definicja referencji. int x = 0; int &rx = x; Własności: 1. Referencja musi być przypisana do zmiennej (musi być zainicjowana). 2. Referencji nie można przypisać wartości NULL. 3. Referencji nie można zmienić przypisania. 4. Referencji można przypisać wartość. 5. Referencja musi być zainicjowana takim samym typem jaki jest typ referencji. Referencja typu const może być zainicjowana podobnym typem do typu referencji. Przykład 2. Do pkt.5. const int x = 321; int &r = x; // error C2440: 'initializing' : cannot // convert from 'const int' to 'int &' const int &r = x; // ok int x = 321; const int &r = x; //ok const int &rr = 100; //ok 8
9 Przykład 3. Użycie referencji (w01-03-referencje.cpp). #include<iostream> void main() int i = 10; int &ri = i; cout <<" i = " << i << endl; cout <<" ri = " << ri << endl; cout <<" &i = " << (long)&i << endl; cout <<"&ri = " << (long)&ri << endl; i = 100; cout <<" ri = " << ri <<endl; ri = 50; cout <<" i = " << i <<endl; const int &cr = 100; cout <<" rc = " << cr <<endl; cout <<"&rc = " << &cr <<endl; cout <<"&rc = " << (long)&cr <<endl; i = 10 ri = 10 &i = &ri = ri = 100 i = 50 rc = 100 &rc = 00FFF90C &rc =
10 Przykład 4. Przypisanie zmiennej x wartości zmiennej y. Adres zmiennych x, y nie zmienia się (w referencje.cpp). void main () int x = 321; int y = 123; int &r = x; r = y; cout << x << endl; cout << &x << endl; cout << &r << endl; cout << &y << endl; B9FA38 00B9FA38 00B9FA34 10
11 1.6 Wskaźniki do wskaźników <typ> **<nazwa_wskaźnika_do_wskaźnika> = &< nazwa_wskaźnika>; Przykład 1. Wskaźnik ppx ma wartość adresu wskaźnika px, czyli wartość &px. int x = 0; int *px = &x; int **ppx = &px; Przykład 2. Wskaźnik do wskaźnika na stosie (w01-05-wskaznik2wskaznik-stos.cpp). #include<iostream> int main() int x = 0; int *px = &x; int **ppx = &px; cout << "x = " << x << endl; cout << "**ppx = " << **ppx << endl; cout << "*px = " << *px << endl << endl; cout << "&x = " << &x << endl; cout << "px = " << px << endl; cout << "&**ppx = " << &**ppx << endl; cout << "&*px = " << &*px << endl << endl; cout << "*ppx = " << *ppx << endl; cout << "&px = " << &px << endl; cout << "ppx = " << ppx << endl << endl; cout << "&ppx = " << &ppx << endl; return 0; x = 0 **ppx = 0 *px = 0 &x = 006DFB04 px = 006DFB04 &**ppx = 006DFB04 &*px = 006DFB04 *ppx = 006DFB04 &px ppx &ppx = 006DFAF8 = 006DFAF8 = 006DFAEC 11
12 Przykład 3. Wskaźnik do wskaźnika na stercie (w01-06-wskaznik2wskaznik-sterta.cpp). void main( ) int ** pp = new int *; *pp = new int; **pp = 100; cout << " **pp = " << **pp << endl; cout << "&**pp = " << &**pp << endl; cout << " *pp = " << *pp << endl; cout << " &*pp = " << &*pp << endl; cout << " pp = " << pp << endl; cout << " &pp = " << &pp << endl; delete *pp; delete pp; **pp = 100 &**pp = 0109A378 *pp = 0109A378 &*pp = 0109A328 pp = 0109A328 &pp = 00C5F804 Przykład 4. Wskaźnik do wskaźnika, funkcja main() (w01-07-main.cpp). Program należy uruchomić z konsoli z kilkoma parametrami, np. \>nazwa_programu.exe aa bb cc dd ee #include<iostream> void main(int argc, char **argv) int i = 0; for(i=0; i<argc; i++) cout << "argv:" << i << "= " << argv[i] << endl; // to samo co wyżej inaczej for(i=0; i<argc; i++, argv++) cout << "argv:" << i << "= " << *argv << endl; 12
13 Przykład 5. Wskaźnik do referencji (w01-08-wsk-ref.cpp). void main() char *pc = 0; pc = "abcdef"; char &rc = *pc; cout <<"pc= " << pc << endl; cout <<"rc= " << rc << endl; cout <<"rc= " << ++rc << endl; rc+=2; cout <<"rc= " << rc << endl; pc= abcdef rc= a rc= b rc= c Przykład 6. Wskaźnik void nie wskazuje na żaden typ (w01-09-wskaznik-void.cpp). void main() int i = int(10); // konstruktor typu int, inicjuje zmienną nadając wartość 10 int *pi = 0; pi = &i; cout << " i =" << i << endl; cout << "*pi =" << *pi << endl; void *pv = pi; cout << " pv =" << pv << endl; cout << " pi =" << pi << endl; double d = 1.1; double *pd = &d; pv = pd; cout << " pv =" << pv << endl; cout << " pd =" << pd << endl; double **ppd = &pd; 13
14 Przykład 7. Wskaźnik typu double (w01-10-wsk2wsk-double.cpp). void main () double x = 321; double *px = &x; double &rx = x; double ** ppx = &px; cout << x << endl; cout << rx << endl; cout << *px << endl; cout << **ppx << endl << endl; cout << &x << endl; cout << &rx << endl; cout << px << endl; cout << &px << endl; cout << ppx << endl; cout << &ppx << endl; cout << *ppx << endl<< endl; BFEB8 005BFEB8 005BFEB8 005BFEB0 005BFEB0 005BFEB4 005BFEB endl; cout << sizeof(x) << endl; cout << sizeof(rx) << endl; cout << sizeof(px) << endl; cout << sizeof(ppx) << endl<< 14
15 Przykład 8. Tablica int, wskaźnik do tablicy (w01-11-wsk2tablicy.cpp). #include<iostream> void main() const int wt = 3; int tab[wt] = 22, 33, 44; cout << "&tab cout << "tab cout << "*tab = " << &tab << endl; = " << tab << endl; = " << *tab << endl; cout << "tab[0] = " << tab[0] << " adres " << &tab[0] << endl; cout << "tab[1] = " << tab[1] << " adres " << &tab[1] << endl; cout << "tab[2] = " << tab[2] << " adres " << &tab[2] << endl << endl; int *ptab = &tab[0]; cout << "&ptab = " << &ptab << endl; cout << "ptab = " << ptab << endl; cout << "*ptab = " << *ptab << endl; cout << "++ptab = " << ++ptab << endl; cout << "*ptab = " << *ptab << endl; cout << "++ptab = " << ++ptab << endl; cout << "*ptab = " << *ptab << endl; &tab = 0030F900 tab = 0030F900 *tab = 22 tab[0] = 22 adres 0030F900 tab[1] = 33 adres 0030F904 tab[2] = 44 adres 0030F908 &ptab = 0030F8FC ptab = 0030F900 *ptab = 22 ++ptab = 0030F904 *ptab = 33 ++ptab = 0030F908 *ptab = 44 15
16 Przykład 9. Zmienna typu char, referencja, wskaźniki. 16
17 1.7 Definiowanie własnych typów danych, polecenie typedef Deklaracja nowego typu zmiennej. typedef <typ> <nazwa_typu>; Przykład 1. Definiowanie typu const unsigned int( w01-12-typedef.cpp). typedef const unsigned int cui; void main () cui x = 2; 17
18 1.8 Typ wyliczeniowy enum enum <nazwatypu> <elementlisty1[=wartość],, <elementlistyn[=wartość]> ; Własności: 1. Domyślna wartość pierwszego elementu jest 0, następnego 1, itd.. 2. Typ wyliczeniowy enum jest typu const. 3. Typ wyliczeniowy enum można zagnieżdżać w klasach. Przykład 1. Deklaracje typu wyliczeniowego. enum DzienTygodnia Ni, Po, Wt, Sr, Czw, Pi, So ; enum boool falsz, prawda ; Przykład 2. Przypiasanie zmiennej wartości typu DzienTygodnia. enum DzienTygodnia Ni, Po, Wt, Sr, Czw, Pi, So ; int x = Czw; DzienTygodnia dzien; dzien = Sr; DzienTygodnia dzien1 = Po; DzienTygodnia dzien2; dzien2 = dzien1; Przykład 3. Typ wyliczeniowy enum (w01-13a-enum.cpp). enum DzienTygodnia Ni, Po, Wt, Sr, Czw, Pi, So ; void main() DzienTygodnia dzien; int x = 0; // dzien = x; //blad dzien = DzienTygodnia(x); if (dzien == Ni dzien == So) cout << "dzien wolny" << endl; else cout << DzienTygodnia(x) << endl; 18
19 Przykład 4. Numerowanie elementów tablicy za pomocą typy wyliczeniowego enum (w01-13b-enum.cpp). void main() enum Dni Niedziela, Poniedzialek, Wtorek, Sroda, Czwartek, Piatek, Sobota, LiczbaDni ; int Tab[LiczbaDni] = 11, 13, 15, 17, 19, 21, 23; cout << "Tab[Niedziela] = " << Tab[Niedziela] << endl; cout << "Tab[Wtorek] = " << Tab[Wtorek] << endl; cout << "LiczbaDni = " << LiczbaDni << endl; Tab[Niedziela] = 11 Tab[Wtorek] = 15 LiczbaDni = 7 19
20 1.9 Obszary nazw namespace <nazwa_obszaru> <deklaracje elementów obszaru nazw> Przykład 1.Definicja obszaru nazw. namespace obszn1 Własności: 1 Obszary nazw można zagnieżdżać, 2 Do deklaracji użycia obszaru nazw stosuje się dyrektywę using, np. using namespace <nazwa_obszaru>; 4. Dostęp do elementów obszaru nazw można uzyskać za pomocą operatora zakresu :: 5. Nazwa zadeklarowana poza obszarem nazw, blokiem, klasą ma zakres globalny. 6. Obszar nazw może nie mieć nazwy. Przykład 2. Dostęp do elementów obszaru nazw (w01-14-namespace.cpp). //int iliczba = 9; // zasłania iliczba = 10 namespace int iliczba = 10; namespace ObszN2 int iliczba = 100; namespace ObszN3 int iliczba = 1000; void main( ) int iliczba = 1; cout << iliczba << endl; cout << ::iliczba << endl; cout << ObszN2::iLiczba << endl; cout << ObszN2::ObszN3::iLiczba << endl; 1 10 //gdy int iliczba = 9; odkomentowana to widzimy
21 1.10 Zakres zmiennych Przykład 1. Zakres zmiennych (w01-15-scope.cpp). int n = 0; void main() int n1 = 1; cout <<"n = " << n <<endl; int n2 = 2; int n3 = 3; cout <<"n = " << n <<endl; cout <<"n1 = " << n1 <<endl; cout <<"n2 = " << n2 <<endl; cout <<"n3 = " << n3 <<endl; // error C2065: 'n3' : undeclared identifier cout <<"n2 = " << n2 <<endl; // error C2065: 'n2' : undeclared identifier n = 0 n = 0 n1 = 1 n2 = 2 21
22 1.11 Zmienne extern Deklaracja zmiennej typu extern, deklarowana zmienna jest już zdefiniowana w innym pliku. extern <typ> <nazwa_zmiennej>; Przykład 1. Deklaracja extern. extern int ig; Przykład 2. Użycie deklaracji extern (w01-16a-extern.zip). Plik ca.cpp Plik ca1.cpp void f(); void g(); int i = 30; void main() int ii = 50; f(); g(); // int i = 700; // błąd extern int i; int ii = 100; void f() cout << "i = " << i << endl; void g() cout << "ii = " << ii << endl; Zobaczymy: i = 30 ii = 100 Przykład 3. Użycie deklaracji extern (w01-16b-extern.zip). Jaki jest wynik działania programu? Plik ca.cpp Plik ca.h #include "ca.h" int ix = NULL; void main() int ix = 12; cout << ix << endl; cout << ::ix << endl; #ifndef _ca_h_ #define _ca_h_ extern int ix; void f() ix = 47; cout << "f(), ix = " << ix << endl; #endif _ca_h_ f(); cout << ix << endl; cout << ::ix << endl; Odp f(), ix =
23 1.12 Obszary pamięci Stos, sterta, obszar rejestrów, obszar kodu. Obszar zmiennych globalnych jest obszarem nazw, nie obszarem w pamięci ram. Przykład. int g = 100; // zmienne globalna, globalny obszar nazw // blad, zmienna register nie moze byc zmienna globalną // register int reg2 = 99; void main() int s = 300; // zmienna na stosie int * ps = &s; // wskaznik na stosie register int reg = 400; // zmienna w obszarze rejestrow cout << "&g = " << (long)&g << endl; cout << "&s = " << (long)&s << endl; cout << "&ps = " << (long)&ps << endl; cout << "® = " << (long)® << endl; int *p = new int(500); // zmienna na heapie (sterta) cout << "p = " << (long)p << endl; cout << "&p = " << (long)&p << endl; delete p; ps = new int(600); cout << "ps = " << (long)ps << endl; cout << "&ps = " << (long)&ps << endl; delete ps; &g = &s = &ps = ® = p = &p = ps = &ps =
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoWykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
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ółowo#line #endif #ifndef #pragma
8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,
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ół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ółowoWykład. Materiały bazują częściowo na slajdach Marata Dukhana
Wykład Materiały bazują częściowo na slajdach Marata Dukhana Języki programowania Kompilowane np. C, C++, Pascal Interpretowane np. JavaScript, PHP, Python, VBA Pośrednie np. Java, C# Znane kompilatory
Bardziej szczegółowoWykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest
Bardziej szczegółowoWykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
Bardziej szczegółowoProjektowanie klas c.d. Projektowanie klas przykład
Projektowanie klas c.d. ogólne wskazówki dotyczące projektowania klas: o wyodrębnienie klasy odpowiedź na potrzeby życia (obsługa rozwiązania konkretnego problemu) o zwykle nie uda się utworzyć idealnej
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ółowoPodstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
Bardziej szczegółowoCzęść 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Bardziej szczegółowoTemat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Bardziej szczegółowoJęzyk C++ Różnice między C a C++
Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci
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ółowoWprowadzenie do szablonów 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 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoKatedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak
Katedra Elektrotechniki Teoretycznej i Informatyki wykład 12 - sem.iii M. Czyżak Język C - preprocesor Preprocesor C i C++ (cpp) jest programem, który przetwarza tekst programu przed przekazaniem go kompilatorowi.
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ółowoI - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
Bardziej szczegółowoFunkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów
Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików
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ółowoStrona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij.
Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice
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ółowoPodstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Co jeszcze... Przypomnienia, uzupełnienia Krzysztof Banaś Podstawy programowania 1 Typy danych Podstawowe wbudowane typy danych języka C: _Bool 0 i 1 (C99) znaki (char) 7
Bardziej szczegółowoTechniki Programowania wskaźniki
Techniki Programowania wskaźniki Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Wskaźniki Dla typu T zapis T* oznacza
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ółowoWykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
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 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ółowoObsługa wyjątków. Język C++ WW12
Obsługa wyjątków Pozwala zarządzać błędami wykonania w uporządkowany sposób. Umożliwia automatyczne wywołanie części kodu, funkcji, metod klas, który trzeba wykonać przy powstaniu błędów. try //blok try
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ółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoPodstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoJęzyki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoZmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
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ółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoProgramowanie obiektowe w C++ Wykład 1
Programowanie obiektowe w C++ Wykład 1 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) POwCPP 1 / 24 Literatura Prata Stephen, Szkoła programowania. Język C++. Wydawnictwo Helion,
Bardziej szczegółowoTablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
Bardziej szczegółowo// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.
Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy
Bardziej szczegółowoWstęp do programowania. Wykład 1
Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.
Bardziej szczegółowoWstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoZofia Kruczkiewicz, ETE8305_2 1
Wprowadzenie do programowania obiektowego w C++ 1. Główne zasady programowania obiektowego: hermetyzacja, dziedziczenie, polimorfizm 2. Pojęcie klasy: sposoby deklarowania i definiowania składowych klasy,
Bardziej szczegółowopublic: // interfejs private: // implementacja // składowe klasy protected: // póki nie będziemy dziedziczyć, // to pole nas nie interesuje
Zbudujemy klasę Definicję klasy zapiszmy w pliku tstring.h #ifndef TSTRING_H #define TSTRING_H #include // w pliku nagłówkowym NIE // otwieramy przestrzeni std // interfejs private: // implementacja
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12 Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoProgramowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33
Programowanie w C++ Wykład 8 Katarzyna Grzelak 15 kwietnia 2019 K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoWskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika
Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Bardziej szczegółowoProgramowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30
Programowanie w C++ Wykład 9 Katarzyna Grzelak 14 maja 2018 K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe plus
Bardziej szczegółowoJęzyki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Bardziej szczegółowoWskaźniki. Informatyka
Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona
Bardziej szczegółowoProgramowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Bardziej szczegółowoJĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5
JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,
Bardziej szczegółowoStruktura programu. Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem.
Struktura programu Projekty złożone składają się zwykłe z różnych plików. Zawartość każdego pliku programista wyznacza zgodnie z jego przeznaczeniem. W ostatnich latach najbardziej używanym stylem oprogramowania
Bardziej szczegółowoNa ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia
Struktura programu W programach napisanych w C++ litery wielkie i małe są rozróżniane i często po nauce Pascala są przyczyną błędów. Program napisany w języku C++ składa się zazw yczaj z następujących
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoGlobalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)
Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych
Bardziej szczegółowoPodział programu na moduły
Materiały Podział programu na moduły Informatyka Szczegółowe informacje dotyczące wymagań odnośnie podziału na moduły: http://www.cs.put.poznan.pl/wcomplak/bfiles/c_w_5.pdf Podział programu na moduły pozwala
Bardziej szczegółowoPrzesłanianie nazw, przestrzenie nazw
Przesłanianie nazw, przestrzenie nazw 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
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoPodstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Bardziej szczegółowotyp y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury
typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;
Bardziej szczegółowoFunkcje przeciążone, konstruktory kopiujące, argumenty domyślne
Funkcje przeciążone, konstruktory kopiujące, argumenty domyślne Przeciążenie funkcji polega na użyciu funkcji z tą samą nazwą, które mają różne listy argumentów(różne typy, różna ilość lub to i inne).
Bardziej szczegółowoMetodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA
Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,
Bardziej szczegółowoJęzyk C++ zajęcia nr 2
Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator
Bardziej szczegółowo1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Bardziej szczegółowoProgramowanie strukturalne i obiektowe
Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie
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ółowoAutomatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {
Przeciążanie a dziedziczenie class Integer2: public Integer Operatory, z wyjątkiem operatora przypisania są automatycznie dziedziczone w klasach pochodnych. Integer2(int i): Integer(i) Automatyczne tworzenie
Bardziej szczegółowoPytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Bardziej szczegółowoWskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:
Wskaźniki nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny: typ nw; /* definicja zmiennej nw typu typ */ typ *w_nw; /* definicja
Bardziej szczegółowoProgramowanie Procedurale
Programowanie Procedurale Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Programowanie Procedurale Wykład 6 1 / 27 Zbiór ctime zawiera deklarcję
Bardziej szczegółowoDr inż. Dariusz JĘDRZEJCZYK. Informacje organizacyjne, Wprowadzenie do programowanie w języku C++. Spotkanie 1
Informacje organizacyjne, Wprowadzenie do programowanie w języku C++. Spotkanie 1 Dr inż. Dariusz JĘDRZEJCZYK 11/3/2016 Katedra Informatyki Stosowanej i Modelowania 2 W ramach przedmiotu przedstawione
Bardziej szczegółowowykł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
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
Bardziej szczegółowoAutomatyczne tworzenie operatora = Integer2& operator=(const Integer& prawy) {
Przeciążanie operatorów [] Przykład: klasa reprezentująca typ tablicowy. Obiekt ma reprezentować tablicę, do której można się odwoływać intuicyjnie, np. Tab[i] Ma być też dostępnych kilka innych metod
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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Bardziej szczegółowoSpis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal
Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować
Bardziej szczegółowoAbstrakcyjne struktury danych w praktyce
Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego
Bardziej szczegółowoJęzyki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Klasy pamięci, programy wielomodułowe Deklaracje zmiennych
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
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ółowoPodstawy informatyki (3)
Podstawy informatyki (3) wykład : 15 godz. ćwiczenia : 15 godz. Prowadzący: dr inż. Jacek Piątkowski 1 Języki programowania Języki programowania - dają możliwość zapisu algorytmów w postaci zarówno wygodnej
Bardziej szczegółowoPROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec
PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoECLIPSE wnioski z dwóch pierwszych laboratoriów
PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)
Bardziej szczegółowoProgramowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)
Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006) Część 1. Teoria Wyjaśnij pojęcia, podaj przykład: klasa obiekt konstruktor destruktor kapsułkowanie (hermetyzacja) wskaźnik this
Bardziej szczegółowo