型別轉換函式

2022-09-11 17:39:16 字數 746 閱讀 8577

標準資料型別之間會進行隱式的型別安全轉換

轉換規則如下

char ->short

char/short ->int ->unsigned int -> long ->unsigned long ->float ->double

char+short -> int

再論建構函式

建構函式可以定義不同型別的引數

引數滿足下列條件時稱為轉換建構函式

有且僅有乙個引數

引數是基本型別

引數是其它類型別

編譯器的行為

工程中通過explicit關鍵字杜絕編譯器的轉換嘗試

轉換建構函式被explicit修飾時只能進行顯示轉換

轉換方式

static_cast(value);

classname(value);

(classname)value;//不推薦

型別轉換函式

c++類中可以定義型別轉換函式

型別轉換函式用於將類物件轉換為其它型別

語法規則:

operator type ()

type ret;

return ret;

與轉換建構函式具有同等的地位

使得編譯器有能力將物件轉換為其它型別

編譯器能夠隱式的使用型別轉換函式

無法抑制隱式的型別轉換函式呼叫

型別轉換函式可能與轉換建構函式衝突

工程中以type totype()的公有成員代替型別轉換函式

型別轉換函式 轉換建構函式

用途 將乙個其它型別的資料轉換成自定義的類型別。注意 這種建構函式只有乙個引數,但要區別於拷貝建構函式 形參是乙個自定義型別的引用 例子 include using namespace std class complex 這個預設的建構函式便可以充當 轉換建構函式 complex double r ...

型別轉換函式 轉換建構函式

用途 將乙個其它型別的資料轉換成自定義的類型別。注意 這種建構函式只有乙個引數,但要區別於拷貝建構函式 形參是乙個自定義型別的引用 例子 include using namespace std class complex 這個預設的建構函式便可以充當 轉換建構函式 complex double r ...

型別轉換函式

型別轉換函式的作用是將乙個類的物件轉換成另一型別的資料.例如,如果已宣告了乙個complex類,可以在complex類中這樣定義型別轉換函式 operator double 函式返回double型變數m dreal的值.它的作用是將乙個complex類物件轉換為乙個double型資料,其值是comp...