Ú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!
- Villanyszerelés
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- Kormányok / autós szimulátorok topikja
- No Rest for the Wicked
- 175 fotó, amit a Vivo X300 és X300 Pro kameráival készítettem
- Gitáros topic
- Abarth, Alfa Romeo, Fiat, Lancia topik
- Otthoni hálózat és internet megosztás
- AMD APU (AM4 és AM5) topik
- További aktív témák...
- BONTATLAN Új iPhone 17 PRO MAX Silver - Ezüst 256-512GGB Független 1év Apple G Azonnal átvehető.Deák
- MUNKAGÉP Dell Precision 7520 / 16gb ram / 512gb SSD / Nvidia 4gb dedikált / MAGYAR Bill
- Gamer pc eladó! 2070 Super/i5-10600KF/16GB RAM/Be Quiet
- Ryzen 7 5800X / 2x 500GB SSD / 32GB DDR4 3000MHz / RX 9060 XT + Előretelepített Eredeti Win11 PRO
- új iPhone 17 Pro 512GB cosmic orange kozmosznarancs független Apple 1 év garancia
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060, 94% Akkumulátor
- Sound Blaster AE-7 (B-Stock)
- Lenovo Thinkpad Tablet X1 Gen 3
- BESZÁMÍTÁS! Gigabyte H610M i5 12400F 32GB DDR4 512GB SSD RTX 3070 8GB Zalman Z1 PLUS A-Data 750W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RTX 5060 Ti 16GB GAMER termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő