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

2021-07-05 06:15:14 字數 1041 閱讀 7492

用途:將乙個其它型別的資料轉換成自定義的類型別。

注意:這種建構函式只有乙個引數,但要區別於拷貝建構函式(形參是乙個自定義型別的引用)

例子:

#include 

using namespace std;

class complex

//這個預設的建構函式便可以充當 轉換建構函式

complex(double r=0, double i=0):real(r),imag(i){}

// complex(double d):real(d), imag(0)

friend complex operator+(const complex &, const complex &);

friend ostream &operator

<<(ostream &out, complex &t);

private:

double real;

double imag;

};ostream &operator

<<(ostream &out, complex &c)

complex operator+(const complex &c1, const complex &c2)

int main()

用途:將乙個自定義類物件轉換為int , double , float 以及其它類型別. 如:

double b = 2.1;

complex(乙個類名) c1;

b = c1;

注意:這個函式需要宣告成類的成員函式

仍然借用上面的類形式如下

operator 型別名()

//加到上面的類中   

operator

double()

int main()

!! 當上面兩種函式,以及與操作符過載函式一起使用時,容易歧義

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

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

型別轉換建構函式

include stdafx.h include using namespace std include 用型別轉換建構函式進行型別轉換 class point2d friend class point3d 設定友元類 private int x int y class point3d if 0 我...

型別轉換建構函式

在c 中型別轉換建構函式有兩種,有隱式轉換和顯式轉換兩種,顯式轉換為強制型別轉換,具有一定的風險。型別轉換建構函式 乙個類的構造函式引數只有乙個引數,並且這個引數不是該類的型別而是其他型別,這個建構函式 就被稱為型別轉換建構函式。函式的定義 由函式名 引數 返回值型別以及一組包含操作語句的語句塊組成...