Odpovídáte na názor ke článku Skrytá úskalí vícenásobné dědičnosti v C++.
K tomu příkladu:
Upravil jsem Váš příklad tak aby šel přeložit. Diamantové dědění rozhranní opravdu nelze: http://codepad.org/JJ4hv8M4
Virtuální dědění: http://codepad.org/mAxqB7kB
Nevirtuální dědění: http://codepad.org/5Lo7MsZ0
Zajímavé je, že mi vyšla stejná velikost objektu. GCCčko rozhodně optimalizuje dobře. Stále tam je ale nevýhoda u nevirtuálního dědění s downcastem
Řešit to lze takto:
U výjimek ale takový downcast není možné nařídit, takže výjimku B nelze odchytnout na IA a propadně ven jako neodchycená
u virtuálního dědění to jde:
Programování je holt boj :-)
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 57 605×
Přečteno 27 722×
Přečteno 26 403×
Přečteno 24 367×
Přečteno 22 864×