W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
我們定義了一個新的類通常會想將其對象以可讀的形式輸出出來。對于復數對象,我們使用這樣兩個函數:
void Complex::printCartesian ()
{
cout << getReal() << " + " << getImag() << "i" << endl;
}
void Complex::printPolar ()
{
cout << getMag() << " e^ " << getTheta() << "i" << endl;
}
在此我們不必擔心不同象限的表達方式就可以輸出任何復數對象。因為兩個輸出函數使用了訪問函數,程序會自動計算需要的值。
以下代碼使用第二個構造函數來創(chuàng)建一個復數對象,他只是是以笛卡爾坐標系的形式。 當我們調用到printCartesian時,不必做任何轉換即可直接訪問real 和imag。
Complex c1 (2.0, 3.0);
c1.printCartesian();
c1.printPolar();
當我們調用到printPolar,時,后者會調用getMag,程序會進行極坐標系轉換并將結果保存到變量中。這種轉換只需一次。當printPolar調用getTheta時,就會看到極坐標系的數值已經是有效的了,直接返回即可。
以上代碼的輸出為:
2 + 3i
3.60555 e^ 0.982794i我們定義了一個新的類通常會想將其對象以可讀的形式輸出出來。對于復數對象,我們使用這樣兩個函數:
void Complex::printCartesian ()
{
cout << getReal() << " + " << getImag() << "i" << endl;
}
void Complex::printPolar ()
{
cout << getMag() << " e^ " << getTheta() << "i" << endl;
}
在此我們不必擔心不同象限的表達方式就可以輸出任何復數對象。因為兩個輸出函數使用了訪問函數,程序會自動計算需要的值。
以下代碼使用第二個構造函數來創(chuàng)建一個復數對象,他只是是以笛卡爾坐標系的形式。 當我們調用到printCartesian時,不必做任何轉換即可直接訪問real 和imag。
Complex c1 (2.0, 3.0);
c1.printCartesian();
c1.printPolar();
當我們調用到printPolar,時,后者會調用getMag,程序會進行極坐標系轉換并將結果保存到變量中。這種轉換只需一次。當printPolar調用getTheta時,就會看到極坐標系的數值已經是有效的了,直接返回即可。
以上代碼的輸出為:
2 + 3i
3.60555 e^ 0.982794i
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: