C++ 輸出

2023-03-20 16:49 更新

我們定義了一個新的類通常會想將其對象以可讀的形式輸出出來。對于復數對象,我們使用這樣兩個函數:

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

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號