型別轉換建構函式

2021-08-13 04:08:07 字數 790 閱讀 6940

#include "stdafx.h"

#include using namespace std;

#include //用型別轉換建構函式進行型別轉換

class point2d

friend class point3d; //設定友元類

private:

int _x;

int _y;

};class point3d

#if 0

//我們把這一類,單參的構造器,稱為型別轉化構造器

//賦值 傳參

型別轉換建構函式,本質是乙個建構函式.是只有乙個引數的

建構函式,如有多個引數,只能稱為建構函式,而不是轉換函式.

#endif

//如果此構造器前面加上了explicit關鍵字 表示此轉化需要

//以顯示方式完成轉化也就是p3=p2時需要顯示強制轉化

//p3 = static_cast(p2); 或者(point3d)p2;

//implicit 是宣告隱式 預設就是隱式的轉化

point3d(const point2d &p2)

//賦值過載函式可以利用預設的

point3d &operator=(const point3d &another)

void dis()

private:

int _x;

int _y;

int _z;

};int _tmain(int argc, _tchar* argv)

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

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

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

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

型別轉換建構函式

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