類方法用字串實現運算子的過載

2021-09-29 00:09:59 字數 1161 閱讀 6105

運算子的過載:對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。

本**實現的成員函式有建構函式、拷貝建構函式、=運算子、+運算子(類內實現物件加物件,物件加字串,類外實現字串加物件)、析構函式、《運算子、!=運算子、[ ]運算子、《輸出符(類外實現)。

兩個類外實現的函式用了友元函式,類內由於有this指標,形參省略左面的,類外沒有this指標,所以形參都不可省略。

由於版本問題,用#pragma warning(disable:4996);遮蔽不安全的提示。

**如下:

#include#includeusing namespace std;

#pragma warning(disable:4996);

class string

string(const string& rhs)

string& operator=(const string& rhs)

return *this;

} const string operator+(const string& rhs)

const string operator+(char* rhs)

~string()

bool operator<(const string& rhs)

bool operator!=(const string& rhs)

char& operator(int index)

private:

char* mptr;

friend const string operator+(char*, const string&);

friend std::ostream& operator<<(std::ostream&, const string&);

};const string operator+(char* lhs, const string& rhs)

std::ostream& operator<<(std::ostream& out, const string& rhs)

int main()

if (str1 != str2)

char a = str1[0];

std::cout << a << std::endl;

return 0;

}

字串類 運算子過載

mystring.h define crt secure no warnings includeusing namespace std 在這裡定義類只寫類的函式名,不寫類的函式體 c中沒有字串,字串 c風格字串 空串 class mystring const char c str2 int leng...

c String字串類的運算子過載

在c 中有乙個新定義的型別string,可以不用那麼麻煩的操作字串,並且一些高階的運算子過載讓她的使用更加便捷 下面是string類的定義和成員函式的定義 ifndef operator operator h define operator operator h include includeusi...

字串類中的運算子過載

ifndef string h define string h include using namespace std class string endif include string.h include include include using namespace std string str...