Hirdetés
- Google Pixel topik
- iPhone topik
- Külföldi prepaid SIM-ek itthon
- Bemutatkozott a Poco X7 és X7 Pro
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Hivatalos a OnePlus 13 startdátuma
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Garmin Forerunner 965 - csúcs
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
sztanozs
#3487
üzenetére
Ha egy virtuális függvény közvetlenül vagy közvetett módon konstruktorból vagy destruktorból hívódik meg, ideértve az osztály nem statikus adattagjainak konstruktorát és destruktorát is, és az objektum amire a hívás vonatkozik maga az objektum ami konstruálás vagy destruálás (jajj
) alatt áll akkor a meghívott függvény a konstruktor vagy destruktor osztályában lévő végső override nem pedig leszármazott osztálybeli.Vagyis az adott példában az A() konstruktorban az f() virtuális hívás feloldása során csak a konstruktor osztályát veszi figyelembe és nem a leszármazottat még akkor sem ha amúgy egy olyan példány készül éppen. Így lesz belőle A::f()
MOD: ToMmY_hun

-
ToMmY_hun
senior tag
válasz
sztanozs
#3487
üzenetére
Ha egy virtuális függvény direkt vagy indirekt módon konstruktorból vagy destruktorból kerül meghívásra (beleértve a konstruálását és destruálását a nem statikus adattagoknak) és az objektum, amelyből a hívás történik az éppen konstruálás/destruálás alatt álló objektum, akkor a konstruálás/destruálás alatt álló objektumban definiált függvény hívódik meg, nem pedig a leszármazott osztályban override-olt változata.
Egyébként csak én látom rosszul a helyzetet, vagy ez nem olyan ördöngős kérdés? Konstruálás során ugye először az ősosztály példányosodik, és mivel az említett kódban annak a példányosítása során hívunk egy virtuális függvényt, ezért nem futhat le olyan objektumhoz tartozó definíciója, ami a hívás pillanatában nem is létezik. Ugyanez fordítva a destruálás során. Rosszul látom a dolgot?
Ú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!
- Gainward GeForce RTX 5060TI Ghost 8GB Garanciával!
- Eladó Samsung Galaxy S21 FE 5G 8/256GB
- Új csak kipróbált Ulefone Armor 28 ultra 16/1TB amoled kijelző, 120w töltés ütésálló
- DELL Latitude 5310 13.3" FHD 2in1 Touchscreen laptop I5-10310U 16G/512G Win11 Pro, Üzletből, 27%ÁFÁs
- Lenovo LOQ - Garanciás / Ryzen 7 7435HS / RTX 4050 / 24GB DDR5 / 1TB SSD
- HP Omen gamer szék Citadel
- Honor Pad X8 / 4/64GB / Wi-Fi / 12 Hó Garancia
- 159 - Lenovo LOQ (15APH8) - AMD Ryzen 7 7840HS, RTX 4060
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3846, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 14 Pro 128GB Deep Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3933, 100% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
) alatt áll akkor a meghívott függvény a konstruktor vagy destruktor osztályában lévő végső override nem pedig leszármazott osztálybeli.


