int a=12;
a=22.5+a;
int num=int(99.5);
int num2=(int)99.5;
//兩種寫法都正確
將浮點型變數賦值給整型變數時,捨棄小數部分
將整型資料賦值給浮點型變數時,數值不變,但是以指數形式儲存
將double型資料賦值給float型變數時,注意數值範圍溢位
字元型資料可以複製給整型變數,此時存入的是字元的ascii碼
將乙個int,short,long型資料賦值給乙個char型變數,只將低八位原封不動的送到char型變數中
將有符號資料賦值給長度相同的無符號型變數,連同原來的符號位一起傳送
使用者可以將其他型別轉換為當前型別,也可以將當前型別轉換為其它型別
這種自定義的型別轉換規則,只能以類的成員函式的形式出現
將其他型別轉換為當前型別需要借助轉換建構函式
class rectangle
;
型別轉換函式
型別轉換函式的作用就是將當前型別轉換為其他型別
它只能以成員函式的形式出現,也就是只能出現在類中
//型別轉換函式的語法格式
operatoe type()
type可以是內建型別,類型別,以及由typedef定義的型別別名,任何作為函式返回值的型別(void除外)都是被支援的(不允許轉換為陣列或函式型別,可以轉換為指標或引用型別)
型別轉換函式一般不會更改被轉換物件,所以通常被定義為const
型別轉換函式可以繼承,可以是虛函式
型別轉換函式看起來沒有返回值,其實是隱式指明了返回型別
型別轉換函式也沒有引數,因為要將當前類的物件轉換為其他型別
class rectangle
};int main()
執行結果
<<
c 類的自動型別轉換和強制型別轉換
下面討論類的型別轉換。我們先來看看c 是如何處理內建型別轉換的。將乙個標準型別變數的值賦給另一種標準型別的變數時,如果這兩種型別相容,則c 自動將這個值轉換為接受變數的型別。double time 11 int value 11 converted to type double利用建構函式將內建型別...
C 中的自動型別轉換和強制型別轉換
前面已經認識了不同的資料型別,你們有沒有嘗試過讓不同的資料型別進行運算呢?inmwywfswfnft a 1 double b a console.writeline b 執行結果是 1 我們把乙個整型的變數賦值給了乙個浮點型的變數,可以正常的輸出,如果我們把乙個浮點型的變數賦值給乙個整型的變數呢?...
C 之類的自動轉換和強制型別轉換
1.自動轉換 c 語言不自動轉換不相容的型別,例如,下面的語句 int p 10 是非法的,因為左邊是指標型別,而右邊是數字。不過在無法自動轉換時,可以使用強制型別轉換 int p int 10 上述語句將10強制轉換為int指標型別,將指標設定為位址10.c 程式設計師可以指示c 如何自動進行轉換...