C++-ban duplikáció elkerülése?
Figyelt kérdés
Van egy függvényem, amit 3 féle paraméterezéssel szeretnék használni (1: const char* 2: std::string 3: egy egyedi string típús). A függvény belső logikája ugyanaz csak a paraméterül kapott string típusa különbözik. Hogy oldjam meg, hogy ne kelljen 3-szor ismételni ugyanazt a kódot? Template-et azért nem szeretnék használni, mert ezen 3 paramétertípuson kívül, másra nem akarom, hogy példányosítható legyen.2018. febr. 14. 23:43
1/5 anonim 



válasza:





Egy lehetséges megoldás, hogy a függvényed átalakítja az std::stringet az egyedi stringre, vagy fordítva, majd ezt paraméterként használva meghívod belőle a másik változatot.
2/5 A kérdező kommentje:
Köszi, ez jó lesz :)
2018. febr. 15. 08:15
3/5 endka 



válasza:





Csak egy tipp: Function overloading
4/5 anonim 



válasza:





Ha C++14-et használsz, akkor conceptekkel korlátozott polimorfizmust hozhatsz létre.
5/5 A kérdező kommentje:
#3 Igen, de pont ez volt a gondom, hogy nem akartam a tök hasonló függvénylogikát bemásolni 3 különböző overloadba, a kódismétlés elkerülése miatt.
#4 Hűű ez menő. Ilyet még nem láttam. Ennek utánanézek jobban, köszi a tippet :)
2018. febr. 16. 01:49
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!