Hirdetés
- Félrevezető a Tesla önvezető marketingje, mégis zöld utat kaphat Európában
- Kisétvágyú Radeon RX 9060 XT-t hozott az AMD
- Új képmotorral mutat fügét a ChatGPT a Google banánjának
- Izmos kis "2 az 1-ben" MoDT alaplapot villantott a Minisforum
- Az Enermax tényleg nem viccel, ha az új tápjának garanciaidejéről van szó
Ú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!
- Samsung Galaxy Felhasználók OFF topicja
- Chieftec-Prohardver nyereményjáték
- Acer notebook topic
- sziku69: Fűzzük össze a szavakat :)
- TCL LCD és LED TV-k
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- 3D nyomtatás
- Audiokultúra - Hi-Fi-ről hifisen
- Soundbar, soundplate, hangprojektor
- Hisense LCD és LED TV-k
- További aktív témák...
- 0% THM 4 havi részlet beszámítás! 5060Ti/5070/5070Ti/5080/5090 videokártyák készletről KAMATMENTESEN
- Újszerű Apple MacBook Air M1 13.3 - 8GB/256GB - Asztroszürke - 238 Ciklus - 88% akku - MAGYAR
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 13 Pro 128GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS4108, 100% Akksi
- 184 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5090
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


