3

我有一个 C++ 类,它可以选择支持一些附加功能(由抽象接口定义)。在 Microsoft COM 中,有一种方法可以通过使用QueryInterface(GUID, void**). 这需要将所有接口重新解释为 void*。我的问题是 - 有没有更安全的方法可以在不使用演员表的情况下达到同样的效果?

4

1 回答 1

3

COM 需要从对象支持的任何其他接口获取任何接口。你不必按照这个要求生活。只需将 getter 添加到您希望支持的每个接口即可。

struct IBase
{
    IMoreCapabilities * GetMoreCapabilities();
};
于 2012-05-07T18:10:20.827 回答