Pénzügyi algoritmusok

Hasonló dokumentumok
C++ programozási nyelv Konstruktorok-destruktorok

C string műveletek (string.h alkalmazása)

500. CC Megoldó Alfréd CC 500.

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Mutatók. Dr. Bécsi Tamás 7. Előadás

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Programozás II. 4. Dr. Iványi Péter

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozás C++ -ban

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

500. AA Megoldó Alfréd AA 500.

Objektumok inicializálása

C++ programozási nyelv Struktúrák a C++ nyelvben

Programozás C++ -ban 2007/4

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Programozás C nyelven (10. ELŐADÁS) Sapientia EMTE

ISA szimulátor objektum-orientált modell (C++)

Pénzügyi algoritmusok

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

5. Gyakorlat. struct diak {

3. Osztályok II. Programozás II

Programozás II. 6.Öröklés Dr. Iványi Péter

Bevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

Objektumorientált programozás C# nyelven

Osztály és objektum fogalma

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Programozás alapjai II. (4. ea) C++

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

C++ programozási nyelv

OOP #14 (referencia-elv)

Programozás C nyelven (10a. ELŐADÁS) Sapientia EMTE

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozás C++ -ban

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Bevezetés a Python programozási nyelvbe

Programozás C++ -ban 2007/7

Cekla. Készítette Doxygen Tue Sep :13:44

128. AA Megoldó Alfréd AA 128.

C++ programozási nyelv Konstruktorok Gyakorlat

0.2.1 Operátorok túlterhelése (műveletek definiálhatók felhaszn. típusokra) Kutya. Eb1. Eb2. Név (txt): Rex. Blöki. Német juhász 3

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

Programozás alapjai II. (4. ea) C++

Programozás alapjai II. (4. ea) C++

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

4. Öröklődés. Programozás II

Bevezetés, a C++ osztályok. Pere László

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

- 1 - Konstansok használata. Döntsük el, van-e fordítási idejű hiba az alábbi programrészletekben! a) const char * str="zh"; str[0]++;

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Pénzügyi algoritmusok

Objektum orientált kiterjesztés A+ programozási nyelvhez

JAVA PROGRAMOZÁS 2.ELŐADÁS

1. Alapok. Programozás II

Java és web programozás

Programozás II gyakorlat. 8. Operátor túlterhelés

Programozás. Osztályok, Származtatott osztályok. Fodor Attila

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Programozás I gyakorlat

5. gyakorlat. Konstansok Tömbök Stringek

Java programozási nyelv 4. rész Osztályok II.

Osztályok. 4. gyakorlat

7. fejezet: Mutatók és tömbök

Programozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira

Számítógép és programozás 2

Bevezetés a programozásba Előadás: A const

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Elemi Alkalmazások Fejlesztése II.

A lista eleme. mutató rész. adat rész. Listaelem létrehozása. Node Deklarálás. Létrehozás. Az elemet nekünk kell bef zni a listába

10. gyakorlat Struktúrák, uniók, típusdefiníciók

Alkalmazott modul: Programozás 8. előadás. Strukturált programozás: dinamikus memóriakezelés. Dinamikus memóriakezelés. Dinamikus memóriakezelés

Szövegek C++ -ban, a string osztály

BME MOGI Gépészeti informatika 8.

Objektumorientált programozás C# nyelven

osztályok kapcsolata Származtatatás C++ Izsó Tamás március 19. Izsó Tamás Származtatatás/ 1

Felhasználó által definiált adattípus

Programozás I gyakorlat

Bevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok

Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás

500. DD Megoldó Alfréd DD 500.

Programozás II gyakorlat. 6. Polimorfizmus

Programozási nyelvek Java

Programozás C++ -ban 2007/1

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

#include <iostream> using namespace std; // struct macska is lehetne class macska { public: int kor; int suly; }; void main() { macska cirmi;

AA MEGOLDÓ ALADÁR AA

Alkalmazott modul: Programozás 10. fejezet. Strukturált programozás: dinamikus memóriakezelés. Giachetta Roberto

A C programozási nyelv III. Pointerek és tömbök.

OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

Memóriakezelés, dinamikus memóriakezelés

Java és web programozás

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Objektumorientált szoftverfejlesztés alapjai

Abstract osztályok és interface-ek. 7-dik gyakorlat

malloc free malloc free int sum(int a[4]) { return a[0] + a[1] + a[2] + a[3]; }

Átírás:

Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai

Sztringek Szöveges adatok kezelése

Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális null karakter jelzi Nem kell ismerni a tömb hosszát 0x022B3A01 0x022B3A02 0x022B3A03 0x022B3A04 0x022B3A05 0x022B3A06 H e l l o \0

Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális null karakter jelzi Nem kell ismerni a tömb hosszát 0x022B3A01 0x022B3A02 0x022B3A03 0x022B3A04 0x022B3A05 0x022B3A06 0x48 0x65 0x6C 0x6C 0x6F 0x00 char *mystring = "This is a string literal.";

C műveletek sztringeken C++ változatról később strlen strcpy strncpy strcat strncat strcmp strncmp strchr strcspn strstr strtok Sztring hossza (termináló null nélkül) Átmásol egy sztringet egy másikba Átmásol n karaktert egy sztringből egy másikba Egymás után fűz két sztringet Az egyik sztring végére illeszti a másik sztring első n karakterét Összehasonlít két sztringet Összehasonlítja két sztring első n karakterét Visszaad egy pointert a keresett karakter első megjelenésére A sztring eleje a megadott karakterek első megjelenéséig Visszaad egy pointert a keresett sztring első megjelenésére Feladarabolja a sztringet a megadott karakterek mentén Bővebben: http://www.cplusplus.com/reference/cstring/

Osztályok alapjai Tagváltozók, tagfüggvények Konstruktor, destruktor

Összetett típusok Gyakran szükséges összetartozó adatok együttes tárolása és kezelése Pl. bankszámla adatai összetartoznak Struktúra (struct): Összetett típus Több tagváltozóval rendelkezhet A tagváltozók is lehetne struktúrák Az adatok hierarchikusan érhetők el Inicializáló listával inicializálható struct Person char *name; int age; }; Person p = "Vince", 24 }; p.age = 25;

Tagfüggvények Tagfüggvény (member function, method): Egy összetett típuson végzett művelet A típushoz rendelt függvény Automatikusan hozzáfér a példány változóihoz struct Person char *name; int age; void print() cout << name << ": " << age << endl; } }; void print(person p) cout << p.name << ": " << p.age << endl; } Person p; p.name = "Vince"; p.age = 24; print(p); p.print();

Hozzáférés pointereken keresztül Person p; Person *pp = &p; (*pp).name = "Vince"; Pp->name = "Vince"; (*pp).print(); pp->print(); A this pointer: Minden tagfüggvényben automatikusan elérhető Az aktuális objektumpéldányra mutat

Osztályok Osztály (class): Összetartozó adatok egységbe zárt csoportja Belső állapot és viselkedés Sablon Objektum (object): Egy osztály példánya, saját belső állapottal, adatokkal Nagyon hasonlít a struktúrára DE: a tagváltozókhoz alapértelmezés szerint csak a tagfüggvények férnek hozzá

Láthatóság Struktúrák és osztályok esetén is megadható Ki láthatja a tagváltozót/tagfüggvényt? Védhető a belső állapot (illetéktelen kód nem fér hozzá) Szintek: Private: csak a tagfüggvények látják Public: bárki láthatja (többit lásd később) Alapértelmezés: Struktúra: minden public Osztály: minden private Ajánlás: Tagváltozók ne legyenek publikusak! A publikus függvények biztosítsák az objektum szolgáltatásait, a segédfüggvények legyenek privátok

Láthatóság Person.cpp Person.h class Person private: char *name; int age; public: void print(); }; void Person::print() cout << name << ": " << age << endl; }

Konstruktor Hogyan inicializáljuk a privát tagváltozókat? Konstruktor függvény (constructor method): A példány/objektum létrehozásakor fut le Fogadhat paramétereket Hozzáfér a tagváltozókhoz class Person char *name; int age; public: Person(char *n); }; Person p("vince"); Person *p = new Person("Vince"); Person p; Person *p = new Person;

Konstruktor Hogyan inicializáljuk a privát tagváltozókat? Konstruktor függvény (constructor method): A példány/objektum létrehozásakor fut le Fogadhat paramétereket Hozzáfér a tagváltozókhoz class Person char *name; int age; public: Person(char *n); Person(); }; Person p("vince"); Person *p = new Person("Vince"); Person p; Person *p = new Person;

Konstruktor class Person char *name; int age; public: Person(char *name, int age) : age(age) strcpy(this->name, name); } };

Destruktor Destruktor függvény (destructor method): A példány/objektum által használt memória felszabadítása előtt fut le Megszűnik a lokális változó, delete hívás Hozzáfér a tagváltozókhoz Célja a lefoglalt erőforrások (pl. memória) felszabadítása class Person char *name; int age; public: Person(char *name, int age); ~Person() delete[] name; } };

Köszönöm a figyelmet!