публичное наследование и tlb файлы - PullRequest
1 голос
/ 20 февраля 2009

Скажем, у вас есть две сборки (две библиотеки). Первый содержит класс с именем Base, а второй содержит класс с именем Derived, который публично наследует от Base.

Когда я использую файлы tlb для создания классов C ++ в Visual Studio 2005, я получаю базовые и производные классы, но один не является подклассом другого. Кажется, нет никаких отношений IS-A. Есть ли причина для этого?

1 Ответ

2 голосов
/ 20 февраля 2009

Здесь я предполагаю, что две сборки связываются друг с другом через COM, если это действительно так, то вы правы, в COM нет отношения IS-A в отношении наследования CLASS, только в отношении Интерфейс наследования.

Если бы вы определили интерфейс IBase и IDerived, производный от IBase, то вы могли бы привести IDerived к IBase для того же объекта, который реализует оба.

...