轉換構造函數:
轉換構造函數的隻有一個形參:
如果已經在上面定義了構造函數:
如果對“+”進行了重載,那麼以下是編譯錯誤的:
注意:在已定義的相應的轉換構造函數情況下, 将運算符“+”函數重載為友元函數,在進行兩個複數相加時,可以用交換律;
如果是重載為成員函數的話,那麼交換律不适用;
類型轉換構造函數:
用轉換構造函數可以将一個類型資料轉換成類的對象,但不能将一個類的對象轉換成一個類型資料;是以我們需要另一種方法來實作這種功能:
c++提供了類型轉換函數來解決這種問題:
下面是一個使用類型轉換的簡單例子:
編譯器系統發現有對float的重載,是以調用了這個函數;
注意:operator前面沒有參數。