class mystring
;mystring& mystring::operator=(char* s)
size = strlen(s);
data = new char[size+1];
strcpy(data,s);//複製目標字串
return *this;
}mystring& mystring::operator =(const mystring& s)
if (data != null)
size = strlen(s.data);
data = new char[size+1];
strcpy(data,s.data);
return *this;
}char& mystring::operator(int i)
const char& mystring::operator (int i)const
mystring& mystring::operator+=(const mystring& s)//
mystring& mystring::operator+=(const char* s)
int len = size + strlen(s) + 1;
char *temp = data;
data = new char[len];
size = len - 1;
strcpy(data,temp);
strcat(data,s);
delete temp;
return *this;
}int mystring::length()
ostream& operator<<(ostream &out,mystring &s)
bool operator<(const mystring& left,const mystring& right)
return left[i]-right[i] < 0?true:false;
}
String運算子過載
運算子的過載實際是一種特殊的函式過載,必須定義乙個函式,並告訴c 編譯器,當遇到該過載的運算子時呼叫此函式。這個函式叫做運算子過載函式,通常為類的成員函式。定義運算子過載函式的一般格式 返回值型別 類名 operator過載的運算子 參數列 operator是關鍵字,它與過載的運算子一起構成函式名。...
運算子過載 string類
c 中的運算子除了少數幾個之外,全部可以過載,而且只能過載c 中已有的運算子。過載之後運算子的優先順序和結合性都不會改變。運算子過載是針對新型別資料的實際需要,對原有運算子進行適當的改造。一般來說,過載的功能應當與原有功能相類似,不能改變原運算子的操作物件個數,同時至少要有乙個操作物件是自定義型別。...
各類運算子
各類運算子 一 算術運算子 整數相除結果仍是整數,若結果有小數,需要讓運算變數有乙個為小數 二 賦值運算子 將等號右邊的賦給左邊 賦值運算會自動進行資料型別轉換 三 關係運算子 最終結果都是布林型別 四 邏輯運算子 或 有true則true 與 有false則false 相同則false,不同則tr...