定義乙個基本的
string 類
class
string
private:
char
*base;
long
int length; }
; 我們可以看到在這個類裡面我們用乙個char型指標來儲存字串值,long int 型值length來儲存字串的長度。
①由於我們知道string類支援這樣的建構函式:
string str(
「hello」);
string str(5,』c』);
string str1(str,2);
string str2(str,0,2);
故我們給我們的string類新增相應的建構函式:
class
string
string(const
char
* p)
else
length = strlen(p); }
string(int count,char ch)
base[++i] =
'/0';
length = count; }
string(string& str,int count)
string(string& str,int index,int count)
base[j] =
'/0';
length = count; }
private:
char
*base;
long
int length; }
; ②為類新增拷貝建構函式和析構函式
拷貝建構函式:
string(const string &str)
注意這裡的拷貝建構函式的形參是定義為const,為什麼要定義為const呢?是因為要既能接收const實參,又能接受非const實參。若是我們定義為非const,則無法接受const實參了。那為什麼我們不定義函式過載呢。那是乙個類只能有乙個複製建構函式啦。
析構函式:
~string()
自己動手實現乙個簡單的React
為了更好的理解react,我決定讀preact的原始碼,preact是乙個非常小的框架,同時也和react的實現原理以及api一樣,幾乎可以很好代替react。雖然還是有一些差異的。但是使用的時候幾乎不會有什麼違和感。看原始碼總是不夠過癮,於是做了乙個偉大的決定就是自己親手去寫乙個react,畢竟p...
自己動手程式設計實現乙個shell
這是本部落格的第乙個文章 主要介紹如何用 c 語言基於linux系統來實現乙個簡單shell,diy 乙個shell。通過自己程式設計實現乙個linux下的 shell,可以使得個人對程序的概念 程序的通訊和作業系統的執行的理解更加的深刻。還會大大增加個人學習的成就感,提供學習興趣。這乙個文章 被命...
自己動手實現乙個MVVM庫
我們知道的,常見的資料繫結的實現方法 1 資料劫持 vue 通過object.defineproperty 去劫持資料每個屬性對應的getter和setter 2 髒值檢測 angular 通過特定事件比如input,change,xhr請求等進行髒值檢測。3 發布 訂閱模式 backbone 通過...