秋招C 開發學習之路day2

2021-09-27 04:11:58 字數 1295 閱讀 4362

day2(類模板、建構函式和析構函式製成順序、繼承、虛函式、純虛函式、多型)

類模板,同樣的類只是型別不同就可以使用乙個模板來定義類,然後呼叫時加入型別

在類的宣告之前加入 template

建構函式和析構函式的執行順序,通產來說是 先構造的函式最後執行析構函式。意思就是執行析構函式的順序與建構函式順序相反。

在函式中定義的物件,在建立物件時呼叫建構函式(多次呼叫則函式則多次呼叫建構函式),並在函式呼叫結束時呼叫析構函式。

當在函式中定義靜態區域性物件的時候,static box box;在建立物件時呼叫建構函式,main函式結束或者呼叫exit函式結束時呼叫析構函式。

繼承,有公用、保護、私有三種繼承方式。形式:class 新類名::繼承方式 繼承的類;

繼承後私有成員只能被本類訪問!公有繼承,基類共有和保護為派生類基類和共有。保護繼承,共有和保護都變為都成為派生類保護成員。私有繼承則共有和保護變為派生類私有,基類私有還是屬於基類。

繼承的建構函式,形式: 新類名(帶資料型別的 基類和新類參數列):基類名(基類參數列)。例子:cstudentl (int n , string nam , char s , int a , string ad) : cstudent (n , nam,s){}。

呼叫建構函式的順序,先呼叫基類的建構函式,從派生類往上查詢然後從最後開始呼叫建構函式,如果呼叫的類中有物件被宣告,則基類呼叫完再呼叫物件的建構函式。最後呼叫派生類的建構函式。析構函式呼叫則全部反過來。

虛函式,在基類成員函式前加上virtual關鍵字,表示虛函式。就可以用基類指標呼叫派生類同名的成員函式,實現多型。就是同一類族中不同類的物件可以對同乙個函式做出不同的響應,就是多型性。在類外定義虛函式時不用加virtual關鍵字。

派生類定義同名成員函式時,要名字體別引數全都一樣。乙個成員函式被宣告為虛函式時,其派生類同名函式自動成為虛函式。可以不加關鍵字,但是一般都加上,方便理解。需要定義基類指標,指向派生類時就可以呼叫派生類的同名成員函式。

虛函式的使用,只用於類的繼承中,要看情況考慮基類成員函式是否需要定義為虛函式。編譯系統為構造乙個虛函式表,是乙個陣列指標,用於存放每個虛函式的入口位址,系統進行動態關聯的時間開銷是很少的,所以多型是高效的。

純虛函式,形式:virtual void 函式名()=0;含有純虛函式的基類,不能被用作生成物件。必須被繼承後過載實現多型才行。含有純虛函式的類也叫抽象類。

虛函式是多型的基礎。當子類由基類指標被刪除時,如果基類析構函式是 非虛函式時,就會出錯,會導致子類析構函式沒有執行。

給基類的析構函式變為虛函式後就能正常執行析構函式了。這樣就能實現 動態聯編 ,也就實現了多型。

單例模式

秋招C 開發學習之路day4

day4 map 迭代器 set tcp tcp頭部 map,其內部的資料都是有序的,預設排序是按照key的大小進行的排序。使用例子 mapmapstudent 一一對應的key value。key可以任意型別,但是必須支援 操作符。根據key可以快速查詢,複雜度為logn。map的標頭檔案,inc...

秋招C 開發學習之路day9

day11 停止等待 超時重傳 流水線傳輸 視窗 擁塞控制 三報文握手 ip層提供的是最大努力服務,所以tcp下面的網路是不可靠的傳輸,所以要使用一些協議來使兩個運輸層的通訊變得可靠。停止等待協議,超時重傳。每次傳送完乙個分組就 設定乙個超時計時器,如果收到對方的確認,就撤銷已設定的超時計時器。流水...

秋招C 開發學習之路day27

day32 字元儲存漢字 乙個字元是乙個位元組,乙個漢字是兩個位元組。所以單純的乙個字元儲存是會截斷的!用字元陣列,或者字元指標可以儲存多個漢字!即漢字字串!淺拷貝和深拷貝 編譯系統在我們自己沒有自定義拷貝建構函式時,會在拷貝物件時候呼叫預設拷貝建構函式,進行淺拷貝,即對指標name拷貝後出現兩個指...