Vector模板类----构造与析构

mac2022-06-30  91

 

 

 

/* 基于C++平台*/

 

typedef int rank; //用int来定义 “秩” 这种概念 #define DEFAULT_CAPACIITY 3 //默认初始容量,实际应用中可以取更大的值 template <typename T> class Vector{ //我们定义了一个Vector这样的模板类   private:Rank _size;//私有的封装和隐藏的变量   int _capacity.//容量   T* _elem;//存放元素的空间   protected:   /* ...内部函数*/   public:   /*...构造函数*/   /*...析构函数*/   /*...只读接口*/   /*...可写接口*/   /*...遍历接口*/ }

 

整个Vector结构是被封装起来

 

向量的默认构造:

Vector(int c=DEFAULT_CAPACITY){//如果没有指定会按照默认的容量制定一个数值   _elem = new T[_capacity = c] //申请一个长度为c,基本类型就是模板参数T的一段连续的数据空间,把这个空间的首地址交给内部的_elem记下来   _size = 0; }

 

 

Vector(T const * A,Rank lo,Rank hi){//const * A为一个数组,数组区间复制   copyFrom(A,lo,hi);//调用一个叫做copyFrom()的内部接口实现 } Vector(Vector<T> const& V,rank lo,rank,hi){   copyFrom(V._elem,lo,hi);//向量区间复制 } Vector(Vector<T> const& V){   copyFrom(V._elem,0,V._size);//向量整体复制 } Vector(Vector<T> const& V){   copyFrom(V._elem,0,V._size); } ~Vector(){   delete [] elem; //释放内部空间 }

 

转载于:https://www.cnblogs.com/Boriaoy/p/9997755.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)