Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
dobragab #3057 üzenetére
Akkor egy kicsit konkrétabban: B egy olyan osztály, ami bináris adatot tartalmazó memória területet dolgoz fel. A memória terület pointerét, és méretét kapja meg az init tfv.-ből. Van nem default ctor-a, amiben egyéb paramétereket vár. A leszármazott D osztály valahonnan (pl. file, registry, stb.) beolvassa a bináris adatot, lefoglalja a megfelelő memória területet, és ennek a címét és méretét a B::init-nek argumentumként átadva B::init meghívásával (a D ctor-ában) teljesen inicializálja B-t. A D ctorának fájl név a paramétere, ha fájlból olvas, vagy registry kulcs, ha registryből, stb. A probléma az, hogy ha nem az init-et hívom, hanem a B ctorának akarnám átadni a memória területet, akkor az adatot előbb kellene beolvasni, mint ahogy a B ctora meghívódik. Azonban az adat beolvasást mindenképpen a D ctor-ában szeretném elvégezni, nem pedig kívül (pl. RAII miatt). Ha a B ctor-ának az egyéb paraméterek mellett a memória pointer és a méret is paramétere lenne, akkor ezeket valahogy az inicializáló listában kéne előállítani (akár D statikus fv.-ei segítségével). Ehelyett én azt mondom, hogy mivel B-t nem lehet példányosítani, a D pedig nem tekinthető teljesen megkonstruáltnak ha nem hívja meg ctor-ából az init-et, talán elfogadható a B kétfázisú inicializálása. Ez koncepcionálisan nem mond ellent annak, hogy ne hozzunk létre félig konstruált objektumot, mivel ha D a konstruktorában nem hívja meg az init-et, akkor maga a D tekinthető félig konstruáltnak.
Ú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!
- Milyen billentyűzetet vegyek?
- Sorozatok
- Vezetékes FEJhallgatók
- Android szakmai topik
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Telekom mobilszolgáltatások
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Polgári repülőgép-szimulátorok
- Béta iOS-t használók topikja
- Kaspersky Antivirus és Internet Security Fórum
- További aktív témák...
- AKCIÓ!!! DDR5 GAMER PC: Intel Core Ultra 7 265KF +RX 9070/9070 XT +16-64GB DDR5! GAR/SZÁMLA!
- AKCIÓ! GAMER PC: i5-14400F (10mag/16szál) +RTX 5050/5060/5060Ti/5070/5080 +16-64GB DDR4! GAR/SZÁMLA!
- iPhone 13 Pro 126GB Gold Független 89% Gyári Akku iOS 17.3.
- Dell OptiPlex 7050 Micro i5-7500 / 8GB RAM / 256GB M.2 SSD
- Kompakt Gamer PC - i5-4750 + R9 380 4GB + 8 GB RAM
- DELL Thunderbolt TB16 Dock
- GYÖNYÖRŰ iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3340
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 5700XT 8GB / 32GB DDR4 / 500GB SSD
- ÁRGARANCIA!Épített KomPhone i5 13400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Eladó 2db Nokia steel hr hibrid okos óra dobozával
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest