強化訓練字串類String

2021-10-04 10:11:16 字數 3015 閱讀 9177

mystring.h

#ifndef mystring_h

#define mystring_h

#include

using

namespace std;

class

mystring

;#endif

// mystring_h

mystring.cpp

#include

"mystring.h"

#include

#include

using

namespace std;

mystring::

mystring()

mystring::

mystring

(const

char

*str)

mystring::

mystring

(const mystring &ob)

mystring::

~mystring()

}int mystring::

size()

char

& mystring::

operator

(int index)

//index表示陣列的下標

else

}mystring &mystring::

operator=(

const mystring &ob)

//根據ob.str的大小申請空間

this

->str =

newchar

[ob.size+1]

;strcpy

(this

->str, ob.str)

;this

->size = ob.size;

return

*this;}

mystring &mystring::

operator=(

const

char

*str)

this

->str =

newchar

[strlen

(str)+1

];strcpy

(this

->str, str)

;this

->size =

strlen

(str)

;return

*this;}

mystring& mystring::

operator+(

const mystring &ob)

return newstring;

}mystring &mystring::

operator+(

const

char

*str)

return newstring;

}bool mystring::

operator==(

const mystring &ob)

return

false;}

bool mystring::

operator==(

const

char

*str)

return

false;}

ostream&

operator

<<

(ostream &out, mystring &ob)

istream&

operator

>>

(istream &in, mystring &ob)

//獲取鍵盤輸入的字串

char buf[

1024]=

"";//臨時buf

in >> buf;

//先得到鍵盤輸入的資料 然後根據buf的實際大小 開闢空間

ob.str =

newchar

[strlen

(buf)+1

];strcpy

(ob.str, buf)

; ob.size =

strlen

(buf)

;return in;

}

main.cpp

#include

#include

"mystring.h"

using

namespace std;

intmain

(int argc,

char

*ar**)

else

if(str8 ==

"hehe"

)else

return0;

}

執行結果:

char *建構函式

hehehaha

size = 8

ghjhkgujyh

ghjhkgujyh

size = 10

char *建構函式

ehello class

char *建構函式

str3:hello str3

str3:hello class

char *建構函式

str4:hello str4,size: 10

str4:hello string,size: 12

char *建構函式

char *建構函式

char *建構函式

我愛大家我愛千鋒

char *建構函式

char *建構函式

大家愛我我愛千鋒

char *建構函式

char *建構函式

不相等相等

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

析構函式

演算法訓練 字串變換

時間限制 1.0s 記憶體限制 256.0mb 提交此題 問題描述 相信經過這個學期的程式設計訓練,大家對於字串的操作已經掌握的相當熟練了。今天,徐老師想測試一下大家對於字串操作的掌握情況。徐老師自己定義了1,2,3,4,5這5個引數分別指代不同的5種字串操作,你需要根據傳入的引數,按照徐老師的規定...

演算法訓練 字串編輯

演算法訓練 字串編輯 時間限制 1.0s 記憶體限制 512.0mb 問題描述 從鍵盤輸入乙個字串 長度 40個字元 並以字元 結束。編輯功能有 1 d 刪除乙個字元,命令的方式為 d a 其中a為被刪除的字元,例如 d s 表示刪除字元 s 若字串中有多個 s 則刪除第一次出現的。2 i 插入乙個...

演算法訓練 字串統計

演算法訓練 字串統計 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定乙個長度為n的字串s,還有乙個數字l,統計長度大於等於l的出現次數最多的子串 不同的出現可以相交 如果有多個,輸出最長的,如果仍然有多個,輸出第一次出現最早的。輸入格式 第一行乙個數字l。第二行是字串s。l大於0,且...