prog_cpp
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| prog_cpp [2016/05/20 12:46] – [Třídy] djbuldog | prog_cpp [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 57: | Řádek 57: | ||
| * Někdy není v době překladu jasné, jestli se má zavolat metoda podtřídy nebo nadtřidy. | * Někdy není v době překladu jasné, jestli se má zavolat metoda podtřídy nebo nadtřidy. | ||
| * Klíčové slovo virtual tento problém řeší až při běhu. | * Klíčové slovo virtual tento problém řeší až při běhu. | ||
| + | * virtuální destruktor | ||
| + | * je potřeba v Base třídě (ze které se dědí) pokud se používá dynamická alokace objektů | ||
| + | * jinak hrozí, že se bude volat pouze destruktor Base třídy - viz triky | ||
| * Příklad problému bez virtual: | * Příklad problému bez virtual: | ||
| Řádek 117: | Řádek 120: | ||
| http:// | http:// | ||
| - | < | + | < |
| - | lass Animal { /* Some virtual members */ } | + | class Animal { /* Some virtual members */ } |
| class Dog: public Animal {}; | class Dog: public Animal {}; | ||
| class Cat: public Animal {}; | class Cat: public Animal {}; | ||
| Řádek 142: | Řádek 145: | ||
| </ | </ | ||
| - | < | + | < |
| Animal | Animal | ||
| // assigns the animal part of the object. | // assigns the animal part of the object. | ||
| Řádek 150: | Řádek 153: | ||
| </ | </ | ||
| - | < | + | < |
| std:: | std:: | ||
| barnYard.push_back(& | barnYard.push_back(& | ||
prog_cpp.1463741172.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
