57 matches
-
asigura că destructorul clasei ce a fost derivată de cele mai multe ori, va fi apelat de fiecare dată. În exemplul de mai jos lipsa unui "destructor" virtual, în timp ce este ștearsă o instanță a clasei B aceasta va apela în mod corect "destructor"-ii ambelor clase B și A; dacă este ștearsă ca o instanță a clasei B, o instanță a clasei B ștearsă via pointer al clasei de bază A va eșua în apelul destructorului pentru clasa B. Output: Declararea în mod
Funcție virtuală () [Corola-website/Science/309519_a_310848]
-
B aceasta va apela în mod corect "destructor"-ii ambelor clase B și A; dacă este ștearsă ca o instanță a clasei B, o instanță a clasei B ștearsă via pointer al clasei de bază A va eșua în apelul destructorului pentru clasa B. Output: Declararea în mod corect codice 17 a destructor-ilor pentru clasa A ca fiind de tip virtual se va asigura faptul că destructor-ul pentru clasa B este apelat în amândouă cazurile din exemplul de mai sus
Funcție virtuală () [Corola-website/Science/309519_a_310848]
-
B și A; dacă este ștearsă ca o instanță a clasei B, o instanță a clasei B ștearsă via pointer al clasei de bază A va eșua în apelul destructorului pentru clasa B. Output: Declararea în mod corect codice 17 a destructor-ilor pentru clasa A ca fiind de tip virtual se va asigura faptul că destructor-ul pentru clasa B este apelat în amândouă cazurile din exemplul de mai sus.
Funcție virtuală () [Corola-website/Science/309519_a_310848]
-
clasei B ștearsă via pointer al clasei de bază A va eșua în apelul destructorului pentru clasa B. Output: Declararea în mod corect codice 17 a destructor-ilor pentru clasa A ca fiind de tip virtual se va asigura faptul că destructor-ul pentru clasa B este apelat în amândouă cazurile din exemplul de mai sus.
Funcție virtuală () [Corola-website/Science/309519_a_310848]
-
orientate pe obiect, precum C++, D sau Ada. Tehnică a fost inventată de Bjarne Stroustrup, pentru a rezolva problema dealocării memoriei în C++. În cazul C++, singurele segmente cod ce se vor executa garantat după ce apare o excepție vor fi destructorii obiectelor aflate în stiva. Astfel, ne va trebui o modalitate prin care să atașam resursele de obiectele cu durata de viață adecvată. Resursele pot fi obținute în timpul inițializării, atunci când nu există șansa că acestea să fie utilizate înainte de a fi
RAII () [Corola-website/Science/322811_a_324140]
-
odată cu distrugerea respectivului obiect, fapt ce poate fi garantat că se va întâmpla, inclusiv în cazul apariției unei erori. este vital dacă dorim un cod C++ securizat contra excepțiilor - pentru a eliberară memoria înaintea propagării excepției vor trebui doar scriși destructorii necesari o singură dată, comparativ cu cazul dispersării și duplicării intrucțiunilor de „curățare” încadrate între blocuri de tratare a excepțiilor ce nu este garantat că se vor executa. Tehnică RÂII este des utilizată în controlul mutex-urilor în aplicații multi-threaded, în
RAII () [Corola-website/Science/322811_a_324140]
-
valoare zero. Acest principiu de design este important, deoarece, cu toate că operația în sine este opționala, execuția constructorului nu este. Alt argument pentru a da mărimii o valoare implicită este pentru a oferi posibilitatea creării unui șir de obiecte tip mem. Destructorul clasei mem nu are nici o particularitate. Chiar dacă utilizatorul nu a alocat memorie la apelarea constructorului, ștergerea unui pointer NULL nu întoarce nici o eroare, deci nu vor exista probleme. După cum am mai precizat mai sus, o funcționalitate extrem de importantă pentru RÂII
RAII () [Corola-website/Science/322811_a_324140]