Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Pitterix: Gyógytorna
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
- Gép1: Renault Kangoo vizhűtő ventilátor fokozatok
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- sziku69: Szólánc.
- GoodSpeed: Egy bihari a Hajdúságban
Ú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!
- TCL LCD és LED TV-k
- Synology NAS
- Mesterséges intelligencia topik
- Windows 11
- Formula-1
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- DUNE médialejátszók topicja
- Miskolc és környéke adok-veszek-beszélgetek
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Eredeti játékok OFF topik
- További aktív témák...
- Lenovo ThinkPad L480 i5-7300u / 14" FHD IPS / 8GB / 256GB m.2 SSD / jó akku /
- PRÉMIUM WHITE PC - 9800X3D / 9070 XT Hellhound Spectral White OC / ASRock X670E Taichi Carrara (L)
- Apple iPhone 15 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Asus ROG Strix G16 Notebook! i9-14900HX / RTX 4060 / 16GB DDR5 / 1TB NVMe! BeszámítOK
- MSI Katana GF76 - 17.3"FHD 144Hz - i5-11400H - 8GB - 512GB - Win11 - RTX 3050 Ti - MAGYAR
- Lenovo L14 Thinkpad Gen2 FHD IPS i5-1135G7 16GB RAM 256GB SSD Intel Iris XE Win11 Pro WiFi6 Garancia
- 138 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080 (ELKELT)
- Xiaomi Smart Band 8, Újszerű, 1 Év Garanciával
- BESZÁMÍTÁS! 64GB(2x32GB) Kingston Fury Beast 3200MHz DDR4 memória garanciával hibátlan működéssel
- BESZÁMÍTÁS! ASUS H510M i7 10700K 16GB DDR4 512GB SSD RTX 3070 8GB ZALMAN S2 TG Chieftec 750W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

