c++ - COM 自动向上转型?

标签 c++ inheritance com interface

在COM中,如果我有一个接口(interface)IBase和一个继承自IBase的接口(interface)IX,我可以通过IX指针调用IBase的方法吗?如果不能,为什么我可以在任何COM上调用Release()和AddRef()没有向上转换的接口(interface)指针?

最佳答案

是的,您可以通过指向派生类的指针调用基类的任何方法。这正是您可以通过任何接口(interface)指针调用 AddRef()Release()QueryInterface() 的原因。

关于c++ - COM 自动向上转型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1612235/

相关文章:

带有 GUI 的 C++ 程序使用远程放置的相机进行捕获并读取未压缩的 TIFF 图像

C++多态/继承问题: Redefinition of base functions vs virtual functions

com - MFC COM 或 ATL COM (ActiveX)

c++ - boost 单元解析字符串流

c++ - 如何在Netbeans中启用C++ 17?

c++ - 比较 C++ 中的 double 值

c++ - 使用后期绑定(bind)从非私有(private)上下文调用私有(private)方法

c++ - 抽象类的 shared_ptr vector 到拷贝 vector

c# - 拖放效果.滚动 : why -2147483648 not 8?

c++ - IUnknown.Release 标准实现竞争条件?