设计一个以统一方式返回多个接口的类

时间:2012-05-07 18:03:11

标签: c++ com

我有一个C ++类,可以选择性地支持一些额外的功能(由抽象接口定义)。 在Microsoft COM中,有一种方法可以使用QueryInterface(GUID, void**)向类询问此类功能。这需要将所有接口重新解释为void *。我的问题是 - 有没有更安全的方法来实现相同而不使用演员?

1 个答案:

答案 0 :(得分:3)

COM需要从对象支持的任何其他接口获取任何接口。您不必遵守该要求。只需将getter添加到您希望支持的每个接口。

struct IBase
{
    IMoreCapabilities * GetMoreCapabilities();
};