Conversion Function 轉換函數
你現在設計一個對象 class A,它可不可以被轉為另外一種類型,這就是一種轉換。或者是,另外一種類型可不可以轉為A。一個是轉出去,一個是轉進來,這兩個方向,我們都要談。
現在首先談的是轉出去:

1、轉化函數不可以有參數。轉換類型而已,那有什麼參數可言。
2、轉化函數沒有傳回類型,傳回類型就是operator後面的double。他也沒有參數。
3、這種轉化函數通常會加上const,因為并沒有改變值,如上圖黃色的那塊函數。不寫也不會報錯,但是以後的情況有可能會出錯。
4、轉換函數可以寫任何一個type都可以,不一定是基本類型,隻要編譯器認得就可以。
5、對于上面的調用(
),編譯器會先去找一個有沒有“+”重載,重載函數的兩個參數裡面一個是int型,一個是fraction類型。編譯器沒找到,是以就看看有沒有轉換函數,把f轉成double型,于是就找到了上圖中黃色的函數。
任何一個class,隻要你認為合理,你都可以寫很多個轉換函數。
未完待續 2018.11.24