String各類運算子過載的編寫示例

2021-06-06 10:07:40 字數 1012 閱讀 2619

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...