суббота, 19 декабря 2009 г.

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

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

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

Комментариев нет: