写数据结构遇到的问题
xiebs_
我对不起唐老师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
继承一个模板类要用this指针访问基类
在C++中如果父类是模板类,在子类中直接调用 父类带模板定义的成员 的话,会报错找不到该变量,其根本原因是因为模板的二次编译机制导致的。 父类声明: template <typename T> class SeqList:public List<T>{ protected: T* m_array; //顺序存储空间位置 int m_length; //当前线性表长度 public: bool insert(int i, const T& e); bool r原创 2020-08-07 11:07:12 · 895 阅读 · 0 评论 -
关于父类指针指向子类数组的问题
B* pb = new D[3]; B为父类,D为子类 delete []pb; 其实这个问题的原理很简单,delete就是释放堆上对象,它删除一个对象的时候,从指针pb开始,到sizeof(B)结束,记住,这时候是sizeof(B),调用B的析构函数,B的析构函数是虚函数,根据多态性,就先调用D的析构函数,再调用B的析构函数。 删除1个对象或者数组的第1个对象都没有问题,但删除第2个对象就麻烦了,delete第2个对象,就是从2*sizeof(B)开始删除,但是sizeof(B) != sizeof(原创 2020-08-07 10:53:28 · 619 阅读 · 0 评论
分享