Кстати, сложилось у меня подозрение, что зашоренность в плане архитектуры у многих (например, безграмотно построенные иерархии ООП, наследование реализации и проч.; там, где нужно просто грамотно декомпонировать и связать) являются следствием неуверенной работы с указателями, со сложными динамическими структурами. Даже их фобия, что ли. Ведь практически все гибкие архитектуры используют сильную ссылочную косвенность. Куда проще просто вписать "(BaseClass)"...