C String類中的運算子過載

2021-09-07 11:55:13 字數 1621 閱讀 8240

模組化設計:

標頭檔案:

#ifndef operator_operator_h

#define operator_operator_h

#include #include using namespace std;

class mystring

;#endif;

功能函式:

#include "operator.h"

//預設建構函式,初始化為空串

mystring::mystring()

//建構函式,用乙個字串初始化

mystring::mystring(const char* str)

//拷貝建構函式,用另外乙個string初始化

mystring::mystring(const mystring& str)

//析構函式

mystring::~mystring()

//過載賦值操作符( = )

mystring& mystring::operator = (const mystring& str)

delete p;

len = str.len;

p = new char[len + 1];

strcpy_s(p, len + 1, str.p);

return *this;

}//過載輸出操作符( << )

ostream& operator << (ostream& out, const mystring& str)

//過載輸入操作符( >> )

istream& operator >> (istream& in, mystring& str)

//過載加號操作符( + )

mystring operator + (const mystring& str1, const mystring& str2)

//過載相加賦值操作符( += )

mystring operator += (mystring& str1, const mystring& str2)

//過載相等操作符

bool operator == (const mystring& str1, const mystring& str2)

return false;

}//過載不相等操作符

bool operator != (const mystring& str1, const mystring& str2)

return true;

}//過載下標()

char& mystring::operator(int index)

測試程式:

#include "operator.h"

int main()

執行結果:

運算子過載(實現CString類)

private char m pdate public 建構函式 cstring cstring 拷貝構造 cstring cstring const cstring t cstring if m pdate null deletem pdate m pdate new char strlen t ...

c String類的運算子過載 21

一,建立測試程式包 測試 如下 date 2017 5 4 description string operator overload test program filename string operator.h author myron zhou ifndef string operator h ...

c String字串類的運算子過載

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