>>791
いまの流れで言ってるのは能力照会だよ
すごい適当に擬似コード書くならこんな感じの

衝突後処理(a, b)
 合体可能インターフェース * p = 0; a->QueryInterface(合体可能インターフェースID, &p);
 合体可能インターフェース * q = 0; b->QueryInterface(合体可能インターフェースID, &q);

 if(p && q) { 合体処理(p, q) ; } // 両方共合体能力を持ってるなら合体
 else { 通常処理(a, b); } // そうでないなら普通に衝突


>>792
クラス同士がお互いのレジストリクラスのこと知らないとだめじゃん