正在加载图片...
int Length() const{ return curLen;}∥求字符串长度 ∥串赋值 int operator ==( string I& ob ) ∥判两串相等 char& operator [ int i); 取串中字符 取子串 stringl& operator += string l& ob ) int Find( string l& ob ); ∥求子串在串中位置(模式匹配) friend ostream& operator << ostream& os, stringl& ob )i friend istream& operator >> istream& is, string l& ob )i ListNodeschar>schist: ∥用单链表存储的字符串 int curLen; ∥当前字符串长度 ∥单链表表示的字符串类 string l成员函数的实现,在文件 string1.cpp中 #include <iostream h> lh" string l∷; string l(){ ∥构造函数 chlist=new ListNodeschar>(0); stringl : stringl( char * obstr )i 复制构造函数 Len =0 ListNodeschar *p= chlist new ListNodechar>(*obstr ) while(*obstr I=0)i obstr++ p=p-link new ListNode<char>(*obstr )i curLen++; string I& stringl : operator = stringl& ob)i 串赋值 ListNodeschar> *a= chlist new ListNodeschar(p-data ) while(p→ data=vo){ q=q→lnk= new ListNode<char>(p→da); return *this int stringl operator == string l& ob)i 判两串相等int Length ( ) const { return curLen; }//求字符串长度 string1& operator = ( string1& ob ); //串赋值 int operator == ( string1& ob ); //判两串相等 char& operator [ ] ( int i ); //取串中字符 string1& operator ( ) ( int pos, int len ); //取子串 string1& operator += ( string1& ob ); //串连接 int Find ( string1& ob ); //求子串在串中位置(模式匹配) friend ostream& operator << ( ostream& os, string1& ob ); friend istream& operator >> ( istream& is, string1& ob ); private: ListNode<char>*chList; //用单链表存储的字符串 int curLen; //当前字符串长度 } //单链表表示的字符串类 string1 成员函数的实现,在文件 string1.cpp 中 #include <iostream.h> #include "string1.h" string1 :: string1( ) { //构造函数 chList = new ListNode<char> ( '\0' ); curLen = 0; } string1 :: string1( char *obstr ) { //复制构造函数 curLen = 0; ListNode<char> *p = chList = new ListNode<char> ( *obstr ); while ( *obstr != '\0' ) { obstr++; p = p→link = new ListNode<char> ( *obstr ); curLen++; } } string1& string1 :: operator = ( string1& ob ) { //串赋值 ListNode<char> *p = ob.chList; ListNode<char> *q = chList = new ListNode<char> ( p→data ); curLen = ob.curLen; while ( p→data != '\0' ) { p = p→link; q = q→link = new ListNode<char> ( p→data ); } return *this; } int string1 :: operator == ( string1& ob ) { //判两串相等
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有