Objektum orientált programozás

gyakorlat

2025

Visual Studio


Információk

Tantárgyi információk

Tantárgy adatlapja

Teams anyagok

Visual Studio

Telepítési útmutató
  1. Tanulásra szolgáló ingyenes verzió letöltése: (Microsoft fiók kell hozzá)

    Egyetemi verzió letöltése: (edu-s email cím, és termékkulcs kell hozzá)

  2. A letöltött telepítőt futtassuk, ha szükséges, akkor rendszergazdaként.
  3. Válasszuk ki a .NET desktop development és Desktop development with C++ munkakörnyezeteket. A későbbi tanulmányokban szükségünk lesz a C++/CLI-re, ennek támogatását jobb oldalon a C++/CLI support elem bepipálásával adhatjuk még hozzá.
  4. A telepítés befejezésekor egy ingyenesen létrehozható Microsoft fiókkal léphetünk be (Community verzió), vagy meg kell adni a termékkulcsot (Enterprise verzió).

Számonkérések

Pontok eloszlása: 1. ÖT 25 pont, 2. ÖT 25 pont

L04 (K 10:15-12:00) D411
  • 1. ÖT: 2025.10.28. 10:15
  • 2. ÖT: 2025.12.09. 10:15
  • 1. PÖT: 2025.12.02. 10:15
  • 2. PÖT: 2024.12.16. 10:15

Oktató értékelése

Belső OHV (anonim, a laborfoglalkozások végén tölthető ki)

Live Stream


1. óra

Tananyag

Órai anyag


2. óra

BME Sportnap


3. óra

Tananyag

  • Függvények
    • Függvény definíciója, hívása (cpp és header állomány készítése)
    • Paraméter átadási módok
      • érték szerinti
      • változó címének átadása (pointer)
      • referencia szerinti
    • Értékek visszaadása (void, visszatérési típus alapján (return), pointereken/referenciákon keresztül)
    • Tömb átadása függvénynek
    • Alapértelmezés szerinti (default) argumentum
    • Függvények átdefiniálása (overload)
    • Függvénysablon (template) használata
    • Rekurzív függvény

Órai anyag

Gyakorló feladat

  • Készítsen el egy terület kiszámító túlterhelt (overload) függvényt, amely egy vagy két oldalhossz megadása alapján egy négyzet vagy egy téglalap területét adja vissza.
  • A függvények különböző típusú adattípusokkal is működjön (int, long long, double, float).
  • A függvények utolsó argumentuma legyen egy logikai bemenet, amely default értéke false. Ha az érték true, akkor a függvény meghívás esetén írja ki a képernyőre a megadott oldahosszakat és a területet debug célból.

4. óra

Tananyag

Órai anyag

Gyakorló feladat

  • Készítsen egy hagyományos függvényt, amelynek két paramétere egy-egy Vektor lesz. A függvény határozza meg a két Vektor eredőjét. A függvény ne legyen barát függvény.
  • Készítsen egy barát függvényt, amelynek két paramétere egy-egy Vektor lesz. A barát függvény határozza meg a két Vektor skaláris szorzatát.
  • Készítsen az osztályon belül egy tagfüggvényt, amely az adott példány irányultságát elfordítja 90 fokkal.

5. óra

Tananyag

  • <string>
    • = .assign //értékadás
    • [] .at() //karakter értéke
    • + += .append() //összefűzés
    • .length() .size() //hossz
    • .erase(pos,size) //törlés
      • .erase(iterator), .erase(iterator first, iterator last);
    • .empty() //üres-e?
    • .substr(kez,hossz) //rész szöveg
    • .find(karakter) //keresés
      • .find(string) // ha nincs, akkor string::npos
    • .c_str() //konvertálás char*-ra
    • .insert(index,szöveg) //hozzáad
    • .replace(pos,hossz,szöveg) //lecserél
    • .copy(hova char*,len,pos) //másolás char*-ba

Órai anyag

Gyakorló feladat

Elemezze a következő verset: (forrás: https://www.nng.com/hanagyleszek)


string vers = "Tudom en mar, mit csinalok:\n
szoftverfejlesztonek allok.\n
Lesz majd harom monitorom,\n
a szekemet odatolom,\n
bucsut intek minden nyugnek,\n
Nyomkodom a billentyuket.\n
Mozi, szinhaz? Masnak hagyom,\n
nekem mindig van programom.\n
Kodot irok, mint a kemek,\n
szamitogepul beszelek.\n
Kitalalsz egy jo kis tervet,\n
elmondom a kompjuternek.\n
Igy fejlesztek szoftvert, sokat,\n
telefonra jatekokat,\n
GPS-t a kocsitokba\n
(belefer egy kicsi tokba),\n
szimulalhatsz helikoptert,\n
hogyha irok neki szoftvert,\n
hatart csak a kepzelet szab!\n
Es egesz nap gepezek csak.\n";

Határozza meg:

  • a határozott és határozatlan névelők számát
  • a mondatok számát
  • a magánhangzók számát

6. óra

Tananyag

  • Fájlkezelés: <fstream>
    • ifstream //bemenő file ios::in
    • ofstream //kimenő file ios::out
    • fstream //ki/bemenő file
    • .open(fájlnév char*, mod) //open
      • ios::app //hozzáírás
      • ios::in //nyitás olvasásra
      • ios::out //nyitás irásra
      • ios::trunc //régi fájltartalom eldobása
      • ios:binary //bináris állomány
    • .good(), .bad(), .fail(), .eof(), is_open() //hibák detektálása
    • .seekg() //pozicionálás olvasásánál
    • .tellg() //méret olvasásnál
    • .seekp() //poz írásnál
    • .tellp() //méret írásnál
    • .flush() //kiíratás
    • .close() //bezárás
    • .clear() //újrainicializál
    • .read() //blokk olvasása
    • .write() //blokk írása
    • get(), getline(fs, szöveg, delim)

ttt_BMEGEMIBMOO_2025o.csv

Órai anyag

Gyakorló feladat

  • Készítsen Excel segítségével egy olyan CSV fájlt, amely 3 oszlopában egy-egy 3D-os vektor (x,y,z) koordinátája található.
  • Olvassa be a fájlt és készítsen egy másik fájlt, amely a beolvasott sorokban található vektorok hosszát fogja tartalmazni.
  • A feladathoz készítsen osztályt!


Elérhetőség