簡易String類的實現

2021-08-25 08:57:21 字數 1447 閱讀 9554

#ifndef mystring_h

#define mystring_h

#include #include #include //本質是對mystring的包裝

class mystring

;#endif

原始檔:

#define _crt_secure_no_warnings

#include "mystring.h"

//mystring::mystring() ;

mystring::mystring(const mystring& str) :_length, _buffer

mystring::mystring(const char* str /*= nullptr*/)

else

}mystring::~mystring() ;

mystring mystring::operator+(const mystring& themystring) //若是新物件,不用傳引用了

; //要進行初始化

newstr._length = len;

strcat(strcat(newstr._buffer, this->_buffer),themystring._buffer); //starcat無法被賦值

return newstr;

}mystring& mystring::operator+=(const mystring& themystring) //返回自身要返回引用

; temp._length = len;

strcat(strcat(temp._buffer, this->_buffer), themystring._buffer);

delete _buffer;

_buffer = new char[len + 1];

strcat(_buffer, temp._buffer);*/

return *this;

}bool mystring::operator>(const mystring& themystring)

bool mystring::operator<(const mystring& themystring)

bool mystring::operator==(const mystring& themystring)

//過載賦值運算子(基本格式)

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

return *this;

}char& mystring::operator(int index)

char& mystring::at(int index)

char* mystring::c_str()

void mystring::printstr()

簡易string類的實現

在面試的時候,經常會讓寫乙個字串類,看似很簡單的問題,其實經常出錯。閒來沒事,就寫個簡單字串類吧。實現容量的概念,size和capacity 構造 析構 拷貝構造 過載 運算子 swap交換函式,push back,pop函式 擴容函式 右值引用 高效的swap交換 空字串類的形式 擴容實現 必須使...

乙個String類的建簡易實現

其中比較重要的那幾個建構函式和析構函式 如果能夠把ostream的過載寫出來將會更加流弊 class string public string const char str null 建構函式 加分項 以下內容加const很重要 string const string other 拷貝構造 stri...

仿照String類,實現簡易版MyString類

還可以和vector一起用 別忘了寫在自己的命名空間,防止衝突 ifndef litestring h included define litestring h included include include namespace mystl else return dest size t strl...