轉換建構函式

2022-07-25 05:45:08 字數 655 閱讀 4858

程式設計師可以使用轉換建構函式實現將其他型別的物件轉換成特定類的物件的單引數建構函式。

a::operator char*() const;
該運算子可以將使用者自定義型別a的物件轉換成乙個臨時的char*物件。其中,char*目標資料型別,可以替換為其他資料型別。

如果s是該類的物件,當編譯器遇到表示式static_cast(s)時,就會產生函式呼叫。

如果程式在乙個本該出現char*的地方使用了a類的物件,就會隱式的呼叫轉換。

這個運算子物件宣告為const是因為它並不修改原始物件

這是個單引數函式,呼叫的物件就是引數

過載的強制型別轉換運算子函式不指定返回型別,因為返回型別就是物件要指定的目標型別。

#includeusing namespace std;

class a

operator int();

operator int() const;

int a;

};a::operator int()

a::operator int() const

int main()

委託建構函式 轉換建構函式

c 11新標準,使我們可以定義所謂的委託建構函式 delegating constructor 乙個委託建構函式使用它所屬的其他建構函式執行它自己的初始化過程。class sales data sales data sales data 0,0.0 sales data string s sales...

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

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

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

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