522.2面向对象描述 )对象结构 virtual long Locate(telem &elem, long Sn=1) virtual long Locate (Telem &elem, long*foundElemIndex); virtual long Locate First(TElem &elem) virtual long LocateNext(TElem &elem); virtual TElem *Insert(TElem &elem, long Sn=1) virtual TElem Delete (long sn-1) virtual long Delete(Tindexselector &sel, TElem *elemDeleted=NULL) virtual long Delete Bylndex ( long idx TobeDel, long numldx TElem Deleted==NULL void Print (; //Only for test
26 §2.2.2 面向对象描述 • (一) 对象结构 virtual long Locate (TElem &elem, long sn=1); virtual long Locate (TElem &elem, long *foundElemIndex); virtual long LocateFirst(TElem&elem); virtual long LocateNext(TElem &elem); virtual TElem *Insert (TElem &elem, long sn=1); virtual TElem *Delete (long sn=1); virtual long Delete (TIndexSelector&sel, TElem *elemDeleted=NULL); virtual long DeleteByIndex (long *idxTobeDel, long numIdx, TElem *elemDeleted=NULL); void Print (); //Only for test };
522.2面向对象描述 ·(二)初始化 template <class TElem> TLinearlistSqu< TElem>. TLinearListsqu o Size =0 len =0 room= NULL 27
27 §2.2.2 面向对象描述 • (二)初始化 template <class TElem> TLinearListSqu< TElem>::TLinearListSqu ( ) { size = 0; len = 0; room = NULL; }
522.2面向对象描述 (二)初始化 template <class TElem> TLinearListSqu< TElem>: TLinearListSqu(long mSize) size=o room=NULL en if(sIze1) throw TExceplinearlist(2) room=new TElem sIze if(room==NULL) throw TExcepLinearList(3) size= size 28
28 §2.2.2 面向对象描述 • (二)初始化 template <class TElem> TLinearListSqu< TElem>::TLinearListSqu (long mSize) { size=0; room=NULL; len=0; if (mSize<1) throw TExcepLinearList(2); room = new TElem[mSize]; if (room==NULL) throw TExcepLinearList(3); size = mSize; }
52.2.2面向对象描述 template <class TElem> TLinearListSqu< TElem>: TLinearListsqu(void) if (room != NULL delete d room
29 template <class TElem> TLinearListSqu< TElem>::~TLinearListSqu(void) { if (room != NULL) delete [] room; } §2.2.2 面向对象描述
522.2面向对象描述 ·(三)元素直接访问 Get和Set类函数用于实现按序号(逻辑关系) 访问元素 template <class TElem> TElem & TlinearlistSqu< TElem>: Get(long idx) if(dx<O‖idx>=len) throw TExceplinearlist(1) return room idx]
30 §2.2.2 面向对象描述 • (三)元素直接访问 • Get和Set类函数用于实现按序号(逻辑关系) 访问元素 template <class TElem> TElem &TLinearListSqu< TElem>::Get (long idx) { if (idx<0 || idx>=len) throw TExcepLinearList(1); return room[idx]; }