{"id":1846,"date":"2016-10-04T09:22:32","date_gmt":"2016-10-04T07:22:32","guid":{"rendered":"http:\/\/www.webotlet.hu\/?p=1846"},"modified":"2017-01-23T08:02:51","modified_gmt":"2017-01-23T07:02:51","slug":"c-programozas-11-fuggvenyek","status":"publish","type":"post","link":"https:\/\/www.webotlet.hu\/?p=1846","title":{"rendered":"C++ programoz\u00e1s 11. \u2013 F\u00fcggv\u00e9nyek"},"content":{"rendered":"<h1>F\u00fcggv\u00e9nyek, avagy a programoz\u00e1s ig\u00e1slovai<\/h1>\n<p>A C++ k\u00e9sz\u00edt\u0151i rengeteg dolgot meg\u00edrtak helyett\u00fcnk, amelyeket kezd\u0151 programoz\u00f3k\u00e9nt sokszor \u00fagy haszn\u00e1lunk, hogy nem is tudatosul. Ezek v\u00e9gzik a munka nagyj\u00e1t, \u0151k azok, akik a v\u00e1ltoz\u00f3kat kezelik, \u00e9s a programunk esetleges k\u00fcl\u00f6nb\u00f6z\u0151 r\u00e9szei k\u00f6z\u00f6tt a kapcsolatot tartj\u00e1k. A f\u00fcggv\u00e9nyek olyan programr\u00e9szletek, melyek esetleges bemen\u0151 adatok seg\u00edts\u00e9g\u00e9vel vagy egy eredm\u00e9nyt \u00e1ll\u00edtanak el\u0151, vagy valamilyen feladatot hajtanak v\u00e9gre, \u00e9s nincs eredm\u00e9ny. A bemen\u0151 adatok sem k\u00f6telez\u0151ek, lehet, hogy a f\u00fcggv\u00e9ny valamilyen el\u0151re meghat\u00e1rozott m\u00f3don \u00e1ll\u00edt el\u0151 egy \u00e9rt\u00e9ket. Fontos, hogy ez a fejezet egyel\u0151re csak az el\u0151re meg\u00edrt \u00e9s az \u00e1ltalunk meg\u00edrt f\u00fcggv\u00e9nyekkel foglalkozik.<\/p>\n<h4>F\u00fcggv\u00e9nyek szignat\u00far\u00e1ja<\/h4>\n<p>A f\u00fcggv\u00e9nyeket tekinthetj\u00fck egyfajta \u00fczeneteknek, melyek valamilyen feladat megold\u00e1s\u00e1t k\u00e9rik valakit\u0151l. V\u00e1laszt nem minden esetben kapunk a teljes\u00edt\u00e9sr\u0151l, egyszer\u0171en csak t\u00f6rt\u00e9nik valami.<\/p>\n<p>Ha a f\u00fcggv\u00e9nyeket \u00fczenetnek tekintj\u00fck, akkor 3 r\u00e9szb\u0151l \u00e1llhatnak.<\/p>\n<ol>\n<li><strong>C\u00edmzett<\/strong> &#8211; A c\u00edmzett nem k\u00f6telez\u0151. Csak abban az esetben kell megadni, ha konkr\u00e9tan valamilyen objektumot szeretn\u00e9nk megsz\u00f3l\u00edtani, \u00e9s valamilyen feladat v\u00e9grehajt\u00e1s\u00e1ra k\u00e9rj\u00fck meg. Ebben a fejezetben ennek nem lesz jelent\u0151s\u00e9ge.<\/li>\n<li><strong>F\u00fcggv\u00e9ny neve<\/strong> &#8211; A f\u00fcggv\u00e9ny neve k\u00f6telez\u0151en megadand\u00f3, hiszen meg kell mondani, hogy mit akarunk v\u00e9grehajtani.<\/li>\n<li><strong>Param\u00e9terek<\/strong> &#8211; A f\u00fcggv\u00e9nynek \u00e1tadand\u00f3 param\u00e9terek nem k\u00f6telez\u0151ek. Lehet, hogy megadott adatok n\u00e9lk\u00fcl is v\u00e9grehajthat\u00f3 a feladat.<\/li>\n<\/ol>\n<p>An\u00e9lk\u00fcl, hogy egy konkr\u00e9t f\u00fcggv\u00e9ny megval\u00f3s\u00edt\u00e1st l\u00e1tn\u00e1nk, n\u00e9zz\u00fck meg a f\u00fcggv\u00e9nyek haszn\u00e1lat\u00e1hoz sz\u00fcks\u00e9ges legfontosabb fogalmat, a szignat\u00far\u00e1t:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nvisszat\u00e9r\u00e9si_\u00e9rt\u00e9k f\u00fcggv\u00e9ny_neve( param\u00e9ter1, param\u00e9ter2, ... );\r\n<\/pre>\n<p>A f\u00fcggv\u00e9ny\u00fcnk, mint a bevezet\u0151ben eml\u00edtettem, vagy eredm\u00e9nyt \u00e1ll\u00edt el\u0151, vagy feladatot hajt v\u00e9gre eredm\u00e9ny n\u00e9lk\u00fcl. Ha a f\u00fcggv\u00e9ny mondjuk egy sz\u00e1m n\u00e9gyzet\u00e9t adja eredm\u00e9ny\u00fcl, akkor egy sz\u00e1m lesz az eredm\u00e9ny. Ha azonban ki\u00edr valamit a k\u00e9perny\u0151re, akkor nincs eredm\u00e9ny, csak v\u00e9grehajtja a feladatot. Ut\u00f3bbi esetben a f\u00fcggv\u00e9ny visszat\u00e9r\u00e9si \u00e9rt\u00e9k\u00e9nek t\u00edpusa <strong>void<\/strong> lesz. M\u00edg mondjuk n\u00e9gyzet eset\u00e9n ha eg\u00e9sz sz\u00e1mnak sz\u00e1m\u00edtjuk ki a n\u00e9gyzet\u00e9t, akkor az eredm\u00e9ny t\u00edpusa mondjuk <strong>int<\/strong> lesz.<\/p>\n<p>A f\u00fcggv\u00e9ny neve \u00e1ltal\u00e1ban valami t\u00f6m\u00f6r megfogalmaz\u00e1sa annak, hogy az adott f\u00fcggv\u00e9ny mit is csin\u00e1l. Mondjuk ha \u00edrn\u00e1nk egy f\u00fcggv\u00e9nyt, ami a kapott sz\u00e1mot n\u00e9gyzetre emeli, akkor lehetne <em>negyzet<\/em> a f\u00fcggv\u00e9ny\u00fcnk neve. A f\u00fcggv\u00e9ny neve \u00e1llhat t\u00f6bb sz\u00f3b\u00f3l is, ilyenkor az egyes szavakat _ jellel szok\u00e1s elv\u00e1lasztani. A n\u00e9vben csak kisbet\u0171ket szok\u00e1s haszn\u00e1lni, \u00e9s esetleg sz\u00e1mok is szerepelhetnek benne, de semmik\u00e9pp nem a n\u00e9v elej\u00e9n. A n\u00e9v egyedi kell hogy legyen, de ehhez lejjebb m\u00e9g kieg\u00e9sz\u00edt\u00e9st teszek.<\/p>\n<p>A z\u00e1r\u00f3jelen bel\u00fcl a f\u00fcggv\u00e9ny bemen\u0151 adatai szerepelnek, amelyek a feladat v\u00e9grehajt\u00e1s\u00e1hoz kellenek. A szignat\u00far\u00e1ban kiz\u00e1r\u00f3lag a bemen\u0151 adatok t\u00edpusai szerepelnek, egym\u00e1st\u00f3l vessz\u0151vel elv\u00e1lasztva, sorrendben felsorolva. Ha mondjuk egy f\u00fcggv\u00e9ny egy eg\u00e9sz sz\u00e1m tetsz\u0151leges t\u00f6bbsz\u00f6r\u00f6s\u00e9t \u00e1ll\u00edtja el\u0151, akkor a f\u00fcggv\u00e9ny\u00fcnk szignat\u00far\u00e1ja a k\u00f6vetkez\u0151k\u00e9pp n\u00e9z ki:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nint tobbszoros( int, int );\r\n<\/pre>\n<p>Ez azt jelenti, hogy a <em>tobbszoros<\/em> nev\u0171 f\u00fcggv\u00e9ny\u00fcnk k\u00e9t eg\u00e9sz sz\u00e1mot v\u00e1r param\u00e9terk\u00e9nt, \u00e9s egy eg\u00e9sz sz\u00e1mot ad majd eredm\u00e9ny\u00fcl. De honnan fogjuk tudni, hogy el\u0151sz\u00f6r a sz\u00e1mot \u00e9s ut\u00e1na a szorz\u00f3t kell megadni, vagy \u00e9pp ford\u00edtva? A szignat\u00far\u00e1b\u00f3l sehogy. Ez dokument\u00e1ci\u00f3s k\u00e9rd\u00e9s, hogy szerepeltessem a f\u00fcggv\u00e9ny \u00e1ltalam meg\u00edrt magyar\u00e1zat\u00e1ban: el\u0151sz\u00f6r a sz\u00e1mot, azt\u00e1n a szorz\u00f3t kell megadni vessz\u0151vel elv\u00e1lasztva a f\u00fcggv\u00e9ny helyes haszn\u00e1lat\u00e1hoz.<\/p>\n<p>\u00d6sszefoglalva teh\u00e1t, a szignat\u00fara a f\u00fcggv\u00e9ny haszn\u00e1lat\u00e1hoz ny\u00fajt t\u00f6m\u00f6r seg\u00e9dletet, r\u00f6gz\u00edti, hogy milyen t\u00edpus\u00fa bemeneti param\u00e9tereket v\u00e1r, \u00e9s milyen t\u00edpus\u00fa eredm\u00e9nyt ad. Azt nem tudhatjuk meg bel\u0151le, hogy a param\u00e9terekn\u00e9l melyik t\u00edpus\u00fa bemenet konkr\u00e9tan mit jelent, csak a t\u00edpushelyess\u00e9get biztos\u00edtja.<\/p>\n<h4>F\u00fcggv\u00e9ny haszn\u00e1lata<\/h4>\n<p>\u00c9s akkor hogy n\u00e9z ki egy f\u00fcggv\u00e9ny konkr\u00e9t haszn\u00e1lata? Maradva az el\u0151z\u0151leg ismertetett szignat\u00far\u00e1j\u00fa <em>tobbszoros<\/em> nev\u0171 f\u00fcggv\u00e9nyn\u00e9l l\u00e1ssuk a k\u00f6vetkez\u0151 p\u00e9ld\u00e1t:<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\ntobbszoros( 3, 5 );\r\n<\/pre>\n<p>Ez a f\u00fcggv\u00e9nyh\u00edv\u00e1s a 3 sz\u00e1m t\u00f6bbsz\u00f6r\u00f6s\u00e9t \u00e1ll\u00edtja el\u0151 eg\u00e9sz sz\u00e1mk\u00e9nt \u00fagy, hogy a szorz\u00f3 5 lesz. Az eredm\u00e9ny, vagyis ez az eg\u00e9sz kifejez\u00e9s \u00e9rt\u00e9ke a 15-\u00f6s sz\u00e1mot fogja jelenteni b\u00e1rhol, ahol ezt szerepeltetj\u00fck. Term\u00e9szetesen ezt a f\u00fcggv\u00e9nyt, ahogy a fenti p\u00e9ld\u00e1ban l\u00e1that\u00f3, nincs sok \u00e9rtelme haszn\u00e1lni, hiszen semmit nem kezdek az eredm\u00e9nnyel, csak \u00fagy l\u00f3g a leveg\u0151ben. Ha ezt egy v\u00e1ltoz\u00f3ban elt\u00e1rolom k\u00e9s\u0151bbi haszn\u00e1latra, vagy ki\u00edrom a k\u00e9perny\u0151re, az m\u00e1r val\u00f3ban hasznos tev\u00e9kenys\u00e9g.<\/p>\n<p>Fontos, hogy ez a <em>tobbszoros<\/em> nev\u0171 f\u00fcggv\u00e9ny, amit meg\u00edrtunk, a programunkkal azonos nev\u0171 n\u00e9vt\u00e9rben legyen, vagy ha m\u00e1s n\u00e9vt\u00e9rbe helyezt\u00fck el, akkor a n\u00e9vteret a using kulcssz\u00f3 haszn\u00e1lat\u00e1val el\u00e9rhet\u0151v\u00e9 kell tenni, k\u00fcl\u00f6nben a f\u00fcggv\u00e9nyt \u00edgy nem \u00e9rhetj\u00fck el. A n\u00e9vterekr\u0151l amennyire sz\u00fcks\u00e9g\u00fcnk van, az <a href=\"http:\/\/www.webotlet.hu\/?p=1707\">alapok<\/a> c\u00edm\u0171 leck\u00e9ben \u00edrtam.<\/p>\n<h4>Be\u00e9p\u00edtett f\u00fcggv\u00e9nyek<\/h4>\n<p>A C++ nyelv t\u00f6bb olyan f\u00fcggv\u00e9nyt is tartalmaz, mely valamilyen el\u0151re megadott alapfeladatot old meg. Ezeket term\u00e9szetesen mi is meg\u00edrhatn\u00e1nk, de ezekben az esetekben a nyelv k\u00e9sz\u00edt\u0151i seg\u00edtettek nek\u00fcnk egy kicsit.<\/p>\n<p>Ha a Code::Blocks-ot elind\u00edtod, \u00e9s egy project-et hozol l\u00e9tre, akkor azonnal k\u00e9sz\u00edt egy alap k\u00f3dot, melyben az std n\u00e9vteret el\u00e9rhet\u0151v\u00e9 teszi a using kulcssz\u00f3val. Ett\u0151l a pontt\u00f3l kezdve m\u0171k\u00f6dnek a cin \u00e9s cout objektumok, valamint k\u00e9t alapf\u00fcggv\u00e9ny is el\u00e9rhet\u0151 lesz. Megjegyz\u00e9sbe oda\u00edrtam, hogy mi a f\u00fcggv\u00e9nyek eredm\u00e9nye. Sz\u00e1nd\u00e9kosan nem \u00edrtam t\u00edpust. A k\u00f6vetelm\u00e9ny annyi, hogy a k\u00e9t sz\u00e1mnak azonos t\u00edpus\u00fanak kell lennie. Vagyis vagy k\u00e9t int, vagy k\u00e9t double t\u00edpust adhatok meg, \u00e9s az eredm\u00e9ny t\u00edpusa a k\u00e9t param\u00e9ter \u00e9rt\u00e9k\u00e9nek megfelel\u0151 lesz.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\nmin( szam1, szam2 ); \/\/ a k\u00e9t sz\u00e1m k\u00f6z\u00fcl a kisebb \u00e9rt\u00e9ke\r\nmax( szam1, szam2 ); \/\/ a k\u00e9t sz\u00e1m k\u00f6z\u00fcl a nagyobb \u00e9rt\u00e9ke\r\n<\/pre>\n<p>A t\u00f6bbi be\u00e9p\u00edtett f\u00fcggv\u00e9ny, melyek jellemz\u0151en matematikai jelleg\u0171 f\u00fcggv\u00e9nyek, valamint kerek\u00edt\u0151 f\u00fcggv\u00e9nyek, nem \u00e9rhet\u0151ek el ilyen egyszer\u0171en. Ezek \u00fagynevezett <strong>header<\/strong> f\u00e1jlokban vannak meg\u00edrva, \u00e9s ezeket kell beemelni a k\u00f3dunkba. A k\u00f6vetkez\u0151kben felsorolt f\u00fcggv\u00e9nyek mindegyike a <strong>cmath<\/strong> nev\u0171 header-ben tal\u00e1lhat\u00f3ak. Ahhoz, hogy ezeket haszn\u00e1lni lehessen, a k\u00f3dunk elej\u00e9n a k\u00f6vetkez\u0151 sort kell megadni, lehet\u0151leg az esetleges using-ok el\u0151tt.<\/p>\n<pre class=\"brush: cpp; title: ; notranslate\" title=\"\">\r\n#include &lt;cmath&gt;\r\n<\/pre>\n<p>Ett\u0151l kezd\u0151d\u0151en a k\u00f6vetkez\u0151 f\u00fcggv\u00e9nyeket \u00e9rhetj\u00fck el:<\/p>\n<pre class=\"brush: cpp; gutter: true; title: ; notranslate\" title=\"\">\r\nabs(-5);\r\nsqrt(2);\r\npow(2,4);\r\nround(12.345);\r\nceil(12.345);\r\nfloor(12.789);\r\ntrunc(12.789);\r\ntrunc(-3.345);\r\n<\/pre>\n<ol>\n<li>-5 abszol\u00fat \u00e9rt\u00e9ke<\/li>\n<li>2 n\u00e9gyzetgy\u00f6ke<\/li>\n<li>2 a 4. hatv\u00e1nyon<\/li>\n<li>12.345 kerek\u00edt\u00e9se a k\u00f6zelebbi eg\u00e9szre matematikai szab\u00e1lyok szerint<\/li>\n<li>12.345 kerek\u00edt\u00e9se a t\u0151le nagyobb eg\u00e9szre<\/li>\n<li>12.345 kerek\u00edt\u00e9se a t\u0151le kisebb eg\u00e9szre<\/li>\n<li>12.789 tizedesjegyeinek lev\u00e1g\u00e1sa<\/li>\n<li>-3.345 tizedesjegyeinek lev\u00e1g\u00e1sa<\/li>\n<\/ol>\n<p>Hasonl\u00f3an be\u00e9p\u00edtett f\u00fcggv\u00e9nyekkel dolgozik a <a href=\"http:\/\/www.webotlet.hu\/?p=1798\">v\u00e9letlen sz\u00e1m sorsol\u00e1s<\/a> is, de err\u0151l a hivatkozott k\u00e9s\u0151bbi leck\u00e9ben b\u0151vebben \u00edrok.<\/p>\n<p>\u00dagy gondolom, indul\u00e1sk\u00e9nt ennyi be\u00e9p\u00edtett f\u00fcggv\u00e9ny ismertet\u00e9se b\u0151ven elegend\u0151, az egyes leck\u00e9kn\u00e9l \u00fagyis ismertetem azokat, melyek ahhoz a t\u00e9mak\u00f6rh\u00f6z felt\u00e9tlen\u00fcl sz\u00fcks\u00e9gesek.<\/p>\n<h4>T\u00falterhel\u00e9s<\/h4>\n<p>Fent eml\u00edtettem, hogy a f\u00fcggv\u00e9ny neve egyedi kell, hogy legyen. Ezek szerint ha \u00edrtam egy f\u00fcggv\u00e9nyt \u00e9s lefoglaltam egy nevet, akkor azt m\u00e1shol m\u00e1r soha nem haszn\u00e1lhatom? M\u00e1sik programban term\u00e9szetesen igen, de m\u00e9g azonos programban is lehet haszn\u00e1lni ak\u00e1r t\u00f6bbsz\u00f6r is. Az egyedis\u00e9g val\u00f3j\u00e1ban nem a n\u00e9vre vonatkozik, hanem a szignat\u00far\u00e1ra. Ez azt jelenti, hogy l\u00e9tezhet ugyanabban a programban ugyanazon n\u00e9vt\u00e9rben k\u00e9t azonos nev\u0171 program, de csak abban az esetben, ha a szignat\u00far\u00e1juk k\u00fcl\u00f6nb\u00f6zik. N\u00e9zz\u00fck, hogy n\u00e9z ki ez technikailag.<\/p>\n<p>Szeretn\u00e9nk ezt a <em>tobbszoros<\/em> nev\u0171 f\u00fcggv\u00e9nyt \u00fagy is haszn\u00e1lhat\u00f3v\u00e1 tenni, hogy nem kell megadni a szorz\u00f3t. Ez azt jelenten\u00e9, hogy ha nem adunk meg szorz\u00f3t, akkor automatikusan a sz\u00e1m dupl\u00e1j\u00e1t adja meg, ha pedig megadjuk a szorz\u00f3t, akkor az annak megfelel\u0151 eredm\u00e9nyt adja. Ezt a k\u00f6vetkez\u0151k\u00e9pp tehetj\u00fck meg:<\/p>\n<pre class=\"brush: cpp; gutter: true; title: ; notranslate\" title=\"\">\r\nint tobbszoros( int );\r\nint tobbszoros( int, int );\r\n<\/pre>\n<p>Itt k\u00e9t azonos nev\u0171, de k\u00fcl\u00f6nb\u00f6z\u0151 szignat\u00far\u00e1j\u00fa f\u00fcggv\u00e9nyt l\u00e1thatsz. Az els\u0151n\u00e9l a megadott sz\u00e1m dupl\u00e1ja lesz az eredm\u00e9ny, a m\u00e1sodikn\u00e1l az els\u0151 sz\u00e1m m\u00e1sodikk\u00e9nt megadott t\u00f6bbsz\u00f6r\u00f6s\u00e9t adja. Ez term\u00e9szetesen szint\u00e9n csak a dokument\u00e1ci\u00f3b\u00f3l, vagy megjegyz\u00e9sekb\u0151l der\u00fclhetne ki, mivel a szignat\u00fara csak a param\u00e9terez\u00e9st \u00e9s a visszat\u00e9r\u00e9si \u00e9rt\u00e9ket r\u00f6gz\u00edti. A k\u00e9t f\u00fcggv\u00e9nyt k\u00fcl\u00f6n kell meg\u00edrni, \u00e9s a f\u00fcggv\u00e9nyh\u00edv\u00e1s m\u00f3dja adja meg, hogy melyiket szeretn\u00e9nk haszn\u00e1lni:<\/p>\n<pre class=\"brush: cpp; gutter: true; title: ; notranslate\" title=\"\">\r\ntobbszoros( 3, 5 );\r\ntobbszoros( 6 );\r\ntobbszoros( 6, 2 );\r\n<\/pre>\n<p>A fenti p\u00e9ld\u00e1kb\u00f3l egy\u00e9rtelm\u0171 lesz, hogy hogyan is kell ezeket haszn\u00e1lni.<\/p>\n<ol>\n<li>A 3 \u00f6tsz\u00f6r\u00f6s\u00e9t \u00e1ll\u00edtja el\u0151.<\/li>\n<li>A 6 dupl\u00e1j\u00e1t \u00e1ll\u00edtja el\u0151.<\/li>\n<li>A 6 dupl\u00e1j\u00e1t \u00e1ll\u00edtja el\u0151, de itt azt a f\u00fcggv\u00e9nyt haszn\u00e1lja, amelyik k\u00e9t param\u00e9tert v\u00e1r. A v\u00e9geredm\u00e9ny az el\u0151z\u0151 sorral megegyez\u0151.<\/li>\n<\/ol>\n<p>A t\u00falterhel\u00e9sr\u0151l \u00e9s a saj\u00e1t magunk \u00e1ltal meg\u00edrt f\u00fcggv\u00e9nyekr\u0151l egy k\u00e9s\u0151bbi leck\u00e9ben \u00edrok majd r\u00e9szletesebben, addig csak a be\u00e9p\u00edtetteket haszn\u00e1ljuk.<\/p>\n<h4>K\u00f6vetkez\u0151 lecke: <a href=\"http:\/\/www.webotlet.hu\/?p=1798\">V\u00e9letlen sz\u00e1mok<\/a><\/h4>\n","protected":false},"excerpt":{"rendered":"<p>F\u00fcggv\u00e9nyek, avagy a programoz\u00e1s ig\u00e1slovai A C++ k\u00e9sz\u00edt\u0151i rengeteg dolgot meg\u00edrtak helyett\u00fcnk, amelyeket kezd\u0151 programoz\u00f3k\u00e9nt sokszor \u00fagy haszn\u00e1lunk, hogy nem is tudatosul. Ezek v\u00e9gzik a munka nagyj\u00e1t, \u0151k azok, akik a v\u00e1ltoz\u00f3kat kezelik, \u00e9s a programunk esetleges k\u00fcl\u00f6nb\u00f6z\u0151 r\u00e9szei k\u00f6z\u00f6tt <a class=\"more-link\" href=\"https:\/\/www.webotlet.hu\/?p=1846\">Tov\u00e1bb <span class=\"screen-reader-text\">  C++ programoz\u00e1s 11. \u2013 F\u00fcggv\u00e9nyek<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[151],"tags":[158,159,168,143],"class_list":["post-1846","post","type-post","status-publish","format-standard","hentry","category-cplusplus-alap-leckek","tag-c","tag-c-programozas","tag-fuggvenyek","tag-programozas"],"_links":{"self":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1846"}],"version-history":[{"count":18,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1846\/revisions"}],"predecessor-version":[{"id":2034,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=\/wp\/v2\/posts\/1846\/revisions\/2034"}],"wp:attachment":[{"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1846"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webotlet.hu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}