Hirdetés
Új hozzászólás Aktív témák
-
ToMmY_hun
senior tag
A a void* azért lenne jobb, mert később még szeretném kiegészíteni a factory-t más osztályokkal is. Emvy kolléga jól látja, a Part-ból származtatott osztályok különböző tagváltozókkal, metódusokkal rendelkeznek, így a sima Part pointer visszatérés még nem elég. Végülis a dynamic_cast működik és a miatta keletkező overhead sem probléma, mert csak az inicializálásnál lesz használva.
Szerk: Akkor inkább legyen az objektum típusát tartalmazó tagváltozó és ellenőrizzem azt?

-
EQMontoya
veterán
Értem, mire gondolsz, de alapvetően az ilyen esetekre is lehet valamilyen attribútumot, vagy egy virtuális függvényt (ez jobb, főleg ha az ősben van deffiniálva mondjuk, és false-t ad vissza, a megfelelő leszármazottban meg true-t), és az lényegesen elegánsabb (és gyorsabb) megoldás, mint a cast. Ha reflection-szerű megoldásra van szükség c++-ban, az gáz, azért van többszörös öröklés, hogy minden megfelelő interface-szel rendelkezhessen az adott osztály.
Emiatt én leginkább hacknek tartom, ami ugyan lehetséges az adott nyelven, de alapvetően nem ajánlott, és inkább tervezési hibára vezethető vissza.
Szerk: Meh, hamarabb írtam a választ, mint az edited.

Ú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!
- Asztali PC , 13100F , RTX 3070 Ti , 32GB RAM , 512GB NVME , 1.5 TB HDD
- Akció! HP ZBook Firefly 14 i7-1185G7 32GB 512GB Nvidia Quadro T500 4GB 14" FHD 1 év garancia
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i9-12950HX 32GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7670 i9-12950HX 64GB RAM 1TB SSD Nvidia RTX A3000 12GB 1 év gar
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 64GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- GYÖNYÖRŰ iPhone 12 mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3849, 100% Akksi
- HIBÁTLAN iPhone 14 Pro Max 512GB Silver -1 ÉV GARANCIA - Kártyafüggetlen
- HIBÁTLAN iPhone 12 mini 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3303
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 512GB SSD RTX 3070 8GB Zalman Z1 PLUS Cooler Master 700W
- Razer Blade 14 5900HX 16GB 1TB RTX 3070 8GB
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest




