標頭檔案:
#pragma once
#include"iostream"
using namespace std;
#include"string.h"
class mystring
const char *p_p3()
int length()
};實現的cpp檔案:
#include"mystring.h"
mystring::mystring()
mystring::mystring(const char *p)
else
}mystring::mystring(const mystring &p)
mystring::~mystring()
}//實現的效果是這樣的
mystring& mystring::operator=(const char *p)
if(p!=null)else
return *this;
}//這個就是t1=t2那種型別
mystring& mystring::operator=(const mystring &p)
this->len=strlen(p.p);
this->p=new char[this->len+1];
strcpy(this->p,p.p);
return *this;
}//這個是為了使用自定義的陣列型別
char& mystring::operator(int index)
//輸出
ostream& operator<<(ostream &out,mystring &p)
//輸入
istream& operator>>(istream &in,mystring &p)
//下面兩個都是判斷相等1
bool mystring::operator==(const char *p)const
else
}bool mystring::operator==(const mystring &p)const
else
}//下面這個是不等於的情況
bool mystring::operator!=(const char *p)const
else
}bool mystring::operator!=(const mystring &p)const
else
}//大於小於的比較
bool mystring::operator<(const char *p)const
return false;
}bool mystring::operator<(const mystring &p)const
return false;
}bool mystring::operator>(const char *p)const
return false;
}bool mystring::operator>(const mystring &p)const
return false;
}測試的**:
#include"iostream"
using namespace std;
#include"mystring.h"
#include"string.h"
void main1()
void main2()else
if(s1!="s21")else
//判斷s1和s2是否相等
system("pause");
}void main()else
if(s1>"abc")else
char p=s1.p_p2();
cout}
c 自定義string類
1.標頭檔案部分 define crt secure no warnings pragma once include includeusing namespace std class mystring 2.函式定義部分 include mystring.h mystring mystring mys...
自定義string類
在學習c 過程中,相比起使用char 或者是char陣列,使用 string 類對字串進行操作要方便快速很多。string 並不是c 的基本資料型別,它實際上是乙個類,那麼這個類具體是怎麼實現對字串的操作的呢?如何去自定義乙個類去實現string類同樣的效果呢?首先,先列舉一些 string 類可以...
自定義string類
所需知識點 strcpy arg1,arg2 會把arg2的內容賦值給arg1,直到 0 為止,複製結束後會在arg1後加乙個 0 strlen 返回字串長度,只會返回 0 前字串的長度,如 123 0qweqr 返回值為3 std cin 遇到空格或回車符就結束輸入,遇到回車或eof會讀入 std...