C++類型資料間的轉換

來源:互聯網
上載者:User

1.標準類型資料間的轉換

1.1隱式類型轉換

int i=6;
i=4.5+i; [Warning] converting to `int' from `double'
cout<<i<<endl;

結果:

10

這裡編譯器會給 出警告,因為編譯器會對4.5做double類型處理,在求解運算式時,6轉換成double,然後 與4.5相加,得到10.5,在向整型變數賦值時,將10.5轉為為整數10,然後賦給i。整個過 程由C++編譯器自動完成,因此此類轉換稱為隱式類型轉換。

1.2顯式類型轉換

C++也提供顯式類型轉換,其形式為,

類型名(資料),如int(11.1);// 將11.1轉換成整型11。

2.用轉換建構函式進行類型轉換

2.1什麼是轉換構 造函數

通常把有一個參數的建構函式用作類型轉換,稱其為轉換建構函式(有一 個參數的建構函式也可以不用做類型轉換)。轉換建構函式的作用是將一個其他類型的數 據轉換成一個類的對象。

2.2四種類型的建構函式

到目前為止,已經接觸 了4種類型的建構函式,它們分別是(用例為一複數類Complex),

【1】預設構造 函數。

Complex();//沒有參數

Complex(double=0,double=0);// 提供預設的參數值

【2】用於初始化的建構函式

Complex(double r,double i);//形參列表一般有兩個以上參數

【3】複製建構函式

Complex(Complex&);//形參是本類對象的引用

【4】轉換建構函式

Complex(double r){
 real=r;
 imag=0;
}

其作用是將double型的參數轉換成Complex類的對象,將r作為複數實部, 虛部為0。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.