ame*_*eer 1 c++ virtual abstract new-operator delete-operator
在C++中,我有一个class A抽象类指针,允许包含在a中的多态class B,我有另一个指向抽象的指针,该抽象class C将子类的具体实例分配class B到该内存中,我需要调用清理(参见下面的问题) )函数从class C释放class B我从堆分配的子类占用的内存,问题是我不能保证我有权访问清理函数,因为我只有一个指针class C,我不能只是复制,因为它可能在我打电话需要销毁包含时消失class A.
为了解决无法访问清理功能的问题,class A即使我指向子类,我也可以在指针上调用delete ?C++ new是否也像malloc那样存储堆块大小,这样你就可以删除指向这样的抽象类的指针所引用的内存?如果没有,是否有另一种组织程序的方法可以让我处理这种情况?
我正在使用我的水晶球,因为很难跟随你的问题,但你可能需要虚拟析构函数.