Hirdetés
- Geri Bátyó: Agglegénykonyha 2 – Főzés: szabályok, vagy szabadság?
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
- bambano: Bambanő háza tája
Ú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!
- Építő/felújító topik
- Geri Bátyó: Agglegénykonyha 2 – Főzés: szabályok, vagy szabadság?
- Linux kezdőknek
- Kamionok, fuvarozás, logisztika topik
- Windows 11
- AMD GPU-k jövője - amit tudni vélünk
- Fejhallgató erősítő és DAC topik
- Autós topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Most Kína tiltotta ki a nemrég exportengedélyt kapott AI gyorsítókat?
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Telenor 5G Indoor WiFi Router (FA7550) + töltő
- GYÖNYÖRŰ iPhone 15 Plus 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3353
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- Apple MacBook Pro Touch Bar(13-inch, M1, 2020)- 181 Ciklus - 96% Akku -8GB/256GB SSD - Ezüst -MAGYAR
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest