Boolan c++學習第四周筆記

1.泛型編程和麪向對象編程,是c++的技術主流。

2.轉換函數:

2.1

這就是一個轉換函數,函數名前後有空格,沒有參數,沒有返回類型。這個const通常都需要加,因爲我們不需要改變數據,這個例子中就是將分子和分母直接除等到一個double。

例子:


定義了一個對象f,再將它轉換爲0.6.


這個構造函數比較特殊


編譯器去找+這個操作符的函數,但是沒找到,編譯器就去找能否將4轉換爲fraction這個類,找到了上面的這個特殊函數,轉換爲4/1 ,然後進行相加。

但是二者並存的情況下:


在想上面這個就暈行不通,編譯器兩條路都可以走的通,就會報錯,不行。

可以加上explict進行修飾,編譯器就不會將4轉換爲4/1了。


3。智能指針:

3.1產生的對象像一個指針,


對象裏面肯定有一個真正的指針,裏面一定要寫*和->和普通指針一樣去理解。

4.迭代器。

5.類像函數。



對象可以接收小括號,任意的類型,名字爲pair(針對第二個源代碼),使用例子:struct select1st <pair>()()  ,第一個小括號是用來產生臨時變量,第二個纔是調用函數。類裏面有這種()的重載。

6.類的模板。



7.函數模板


這個比較模板裏面有一個<這個符號,所以我們在定義類的時候需要定義出這個操作符重載。

8.成員模板。




9.模板特化。


上面是泛化,沒有定義的,下面是特化。

偏特化:

個數上的偏,這個模板有兩個模板參數,綁定其中一個。

範圍上的偏化,範圍縮小。就譬如縮小到指針範圍。


10.模板模板參數。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章