【发布时间】:2011-03-03 19:17:58
【问题描述】:
这是我的问题:我正在制作一个广泛依赖于实例对象导出的 C++ DLL。 所以我通过一些导出的工厂方法将我的实际实例作为指向接口的指针返回。
我使用的接口是纯虚拟的,以避免链接问题。所以我也需要一个纯虚拟析构函数,并且我实现了一个(用谷歌搜索它是空的)。 一切都编译得很好,除了......我看不到实际的析构函数是否被调用 - 因为当我添加了一些
std::cout 我永远看不到它。我有一些明确的“删除 obj”(编辑:它是从 DLL 中的“FreeObject”方法调用的),这不是问题。
我错过了什么吗?还有其他方法可以通过接口删除我的对象吗?
编辑:同样,我没有内存管理不一致,它都在 DLL 中。但是没有调用正确的析构函数。
【问题讨论】:
标签: c++ destructor