设计一个以统一方式返回多个接口的类
Design a class that returns multiple interfaces in a unified way
我有一个C++类,可以选择支持一些附加功能(由抽象接口定义)。在 COM Microsoft中,有一种方法可以使用 QueryInterface(GUID, void**)
向类请求此类功能。这需要将所有接口reinterpret_cast为 void*。我的问题是 - 有没有更安全的方法可以在不使用演员表的情况下实现相同的目标?
COM 需要从对象支持的任何其他接口获取任何接口。你不必按照这个要求生活。只需将 getter 添加到您希望支持的每个界面即可。
struct IBase
{
IMoreCapabilities * GetMoreCapabilities();
};
相关文章:
- 模板化接口 - 创建一个泛型模板类以返回任何容器
- 在构造函数处将类对象强制转换为接口始终返回 NULL
- 从 COM 接口中的函数返回多个值
- SetupDiEnumDeviceInterfaces不会返回我们蓝牙设备的接口
- 迭代器的标准接口::operator*返回的比T&和std::p air更多
- IMMDevice::激活缺少接口的返回代码
- 接口 PTR 的返回向量C++
- C++ Rcpp::接口的接口不适用于返回 std::p air 的函数
- C++的多个接口只在返回类型上不同
- swig:接口简单的C 类,返回向量
- 如何泛化接口以要求某个元组的返回值
- C++ 如何从具有不同返回类型的接口进行多个继承
- C++:返回抽象类型作为接口
- 在C++接口中返回父类型
- 设计一个以统一方式返回多个接口的类
- MSXML get_documentElement() & 返回指向 COM 接口的指针
- 如何使用结构体作为接口从函数返回指向数组的指针
- 更快地以数组形式返回数据的c++接口
- c#返回接口由DllExport编写
- 从进程外COM服务器返回接口指针的正确方式是什么