- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Random25: Windows 11 telepítés Pendriveról
- VoidXs: Tényleg minden játék optimalizálatlan?
- gerner1
- Magga: PLEX: multimédia az egész lakásban
- Hieronymus: Három júniusi képem
- Viber: ingyen telefonálás a mobilodon
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
dobragab
addikt
válasz
jattila48 #3058 üzenetére
Most már nekem is kicsit koncepcióhiba-szagú, persze simán lehet, hogy indokolt.
B ellátja a funkcióját, valamilyen adatokon dolgozik. Adsz neki egy ctort, ami az adattagjait darabonként inicializálja, és nem bűvészkedik a bináris adatokkal.
A bináris memóriaterületből olvasás, feldolgozhatóvá alakítás ilyen formában (pointer + méret) nem egy osztály dolga, hanem egy függvényé. Tipikusan egy statikus függvényé, ami megkapja fájlnevet, akármit, és visszaad érték szerint egy B-t. Én ebből csinálnék többet, attól függően, hogy fájl / registry / memória a forrás. Ezek hívják majd B adattagonként inicializáló konstruktorát. A statikus függvények meg lehetnek protected-ek, hogy a RAII-t ne lehessen kívülről zavarni, és hívhasd B / D ctorából. Írj B-nek move ctort, akár default is jó lehet.
Ezzel különválasztottad a program egyáltalán nem összetartozó részeit. B innentől önállóan is működőképes osztály, és hogy a te programodban mindig fájlból érkezik, az mellékes.
Ezután D konstruktora valahogy így nézhet ki:
D::D(std::string filename, T data) :
B{std::move(D::ReadFrom(filename))},
data{data}
{ }Ha B önmagában nem olvasható be, vagy D-vel együtt kellene, mert B beolvasása után kellenek még az adatok, D-t is adhat vissza a beolvasó függvény.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Tarr Kft. kábeltv, internet, telefon
- Mobil flották
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- E-book olvasók
- Luck Dragon: Asszociációs játék. :)
- Autós topik
- Samsung Galaxy Watch6 Classic - tekerd!
- Fujifilm X
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Samsung Galaxy A56 - megbízható középszerűség
- További aktív témák...
- Eszpresszóképes kávéfőző 15 bar nyomással
- AMD GAMER PC! Ryzen 5900X / RX 6800 XT / B550 / 32GB 3200MHz / 1TB Gen4 / 700w Gold! BeszámítOK
- Latitude 5420 27% 14" FHD IPS érintő i5-1145G7 16GB 256GB NVMe ujjlolv IR kam gar
- Lenovo ThinkVision P27u 4k-s kifogástalan állapotú monitor féláron!!!
- Dell Latitude 5480 (i5 7300u, 8 GB, 256 SSD, FHD) kiárusítás!! AKCIÓÓ!
- Új monitor állvány - csak össze lett szerelve
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- DELL PowerEdge R640 rack szerver - 1xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G RJ, HBA330, áfás
- MacBook felvásárlás!! Macbook, Macbook Air, Macbook Pro
- Wilbur Smith könyvek (15 db) egyben
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest