Обход графа наследования в C++ Dec 19, 2009

Наверняка многие во время прохождения собеседования, на тестировании BrainBench или еще где-либо встречались с такой академической задачей, как обход графа наследования. Звучит задача проще: в какой последовательности будут вызываться конструкторы в представленной иерархии, и далее следует листинг…

Недавно случайно наткнулся на формальную методику, которая позволяет очень быстро и, что главное, не задумываясь, строить последовательности вызовов даже для очень сложных иерархий c множественным виртуальным наследованием. Понятно, что кроме собеседований, это сакральное знание разве что может потешить самолюбие, но сама методика достаточно любопытная. Детали можно посмотреть вот здесь.