頁:
[1]
c++問題
本帖最後由 leesparks8 於 2019-5-28 07:12 PM 編輯以下是課本給的範例,有問題的是下列打紅的地方。為何d=m可以直接呼叫打綠的參數建立者而不是打Distance d(m)呢
//檔案名稱:d:\C++12\C1209.cpp
#include <iostream>
using namespace std;
const float MTF = 3.280833f;
class Distance //宣告Distance類別
{
int feet;
float inch;
public:
Distance (int f, float in); //宣告二參數建立者
Distance (float meter); //宣告一參數建立者
friend ostream & operator << (ostream& out, Distance& obj);
};
Distance::Distance (int f, float in) //定義二參數建立者
{
feet = f; inch = in;
}
Distance::Distance(float meter) //定義一參數建立者
{ //基本型態轉換類別型態
float fracfeet = MTF * meter;
feet = (int)fracfeet; //float轉成int
inch = 12 * (fracfeet - feet);
}
ostream & operator << (ostream& out, Distance& obj)
{ //多載 << 運算符號
out << obj.feet << " 英呎 "
<< obj.inch << " 英吋 ";
return out;
}
int main(int argc, char** argv)
{
Distance d(0, 0); //呼叫二個參數的建立者
float m = 3.5f;
d = m; //呼叫一個參數的建立者
cout << m << " 公尺 = " << d;
cout << endl;
system("PAUSE");
return 0;
}
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 本帖最後由 tryit244178 於 2019-5-29 10:33 AM 編輯
這東西好像叫隱性轉換。
話說原始碼裡有表情圖案(艸)真可愛{:47:} tryit244178 發表於 2019-5-29 10:33 AM static/image/common/back.gif
這東西好像叫隱性轉換。
話說原始碼裡有表情圖案(艸)真可愛
非常抱歉,我是5月31日當天才發現eyny提醒我有人回復我發的問題,謝謝你回答我的問題
頁:
[1]