在问个c++问题
- C/C++ code
#include <iostream>using namespace std;class b{public: b(){}; ~b(){}; virtual void setn(int m_){k=new int[m_];} virtual void show(){cout<<k<<endl;}protected: int *k;};class c:public b{public: c(){}; ~c(){ delete d[];}; void setn(int m_); void show();private: int* d;};void c::setn(int m_){ d = new int[m_]; b::setn(m_);}void c::show(){ cout<<k<<endl; cout<<d<<endl;}int main(){ c z; z.setn(7); z.show(); return 0;}
我想问的是对于int *k的空间释放 应该写在b的解析函数中 还是派生类的解析函数中?
[解决办法]
是哪个类的,就在哪个类释放