[c++] Dziedziczona klasa w wektorze bazowej
Ostatnio zmodyfikowano 2014-07-18 20:03
Jakobez Temat założony przez niniejszego użytkownika |
[c++] Dziedziczona klasa w wektorze bazowej » 2014-07-18 16:53:56 Witam , 1.Czy po "zpushowaniu" dziedziczonej klasy do wektora bazowej tracę wartości dziedziczonej? Chodzi mi o to Weapon * Bron = new Weapon( "Nazwa", "Opis", 30, 50 );
playerInventory.push_back( Bron );
2. Czy po skończeniu funkcji (Zasięg lokalny jest więc zostaje usuwany po skończeniu funkcji , tak?) jest automatycznie usuwany? Chodzi mi o to by nie było memory leaka przy new Weapon i czy muszę deletować tę zmienną. Prosto - czy deletować new weapon czy nie trzeba? 3.Czy może gdzieś te dane jeszcze są? - Pogooglowalem i znalazłem że mogę się dostać do zmiennych dziedziczonej poprzez dynamiczne rzutowanie (KLASA BAZOWA JEST POLIMORFICZNA) . Czy taki sposób jest poprawny? ( dynamic_cast < Weapon *>( playerInventory[ 0 ] ) )->damage;
I czy po wyłączeniu programu i włączeniu będę mógł wywołać dmg? Bo domyślam się że po zpushowaniu dane Weapon zostały w pamięci i mogłem dynamicznie rzutować, a po restarcie aplikacji już nie będę mógł tego wyświetlić bo dane znikną z pamięci. Dziękuję. |
|
pekfos |
» 2014-07-18 17:36:03 1. Nie 2. Zależy 3. Nie. |
|
Jakobez Temat założony przez niniejszego użytkownika |
» 2014-07-18 20:03:10 Dziękuję , zamykam. |
|
« 1 » |