C++ 輸出

2023-03-20 16:49 更新

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

void Complex::printCartesian () 
{ 
        cout << getReal() << " + " << getImag() << "i" << endl; 
} 

void Complex::printPolar () 
{ 
        cout << getMag() << " e^ " << getTheta() << "i" << endl; 
} 

在此我們不必?fù)?dān)心不同象限的表達(dá)方式就可以輸出任何復(fù)數(shù)對象。因?yàn)閮蓚€輸出函數(shù)使用了訪問函數(shù),程序會自動計(jì)算需要的值。
以下代碼使用第二個構(gòu)造函數(shù)來創(chuàng)建一個復(fù)數(shù)對象,他只是是以笛卡爾坐標(biāo)系的形式。 當(dāng)我們調(diào)用到printCartesian時(shí),不必做任何轉(zhuǎn)換即可直接訪問real 和imag。
Complex c1 (2.0, 3.0);
c1.printCartesian();
c1.printPolar();
當(dāng)我們調(diào)用到printPolar,時(shí),后者會調(diào)用getMag,程序會進(jìn)行極坐標(biāo)系轉(zhuǎn)換并將結(jié)果保存到變量中。這種轉(zhuǎn)換只需一次。當(dāng)printPolar調(diào)用getTheta時(shí),就會看到極坐標(biāo)系的數(shù)值已經(jīng)是有效的了,直接返回即可。
以上代碼的輸出為:
2 + 3i
3.60555 e^ 0.982794i我們定義了一個新的類通常會想將其對象以可讀的形式輸出出來。對于復(fù)數(shù)對象,我們使用這樣兩個函數(shù):

void Complex::printCartesian () 
{ 
        cout << getReal() << " + " << getImag() << "i" << endl; 
} 

void Complex::printPolar () 
{ 
        cout << getMag() << " e^ " << getTheta() << "i" << endl; 
} 

在此我們不必?fù)?dān)心不同象限的表達(dá)方式就可以輸出任何復(fù)數(shù)對象。因?yàn)閮蓚€輸出函數(shù)使用了訪問函數(shù),程序會自動計(jì)算需要的值。
以下代碼使用第二個構(gòu)造函數(shù)來創(chuàng)建一個復(fù)數(shù)對象,他只是是以笛卡爾坐標(biāo)系的形式。 當(dāng)我們調(diào)用到printCartesian時(shí),不必做任何轉(zhuǎn)換即可直接訪問real 和imag。
Complex c1 (2.0, 3.0);
c1.printCartesian();
c1.printPolar();
當(dāng)我們調(diào)用到printPolar,時(shí),后者會調(diào)用getMag,程序會進(jìn)行極坐標(biāo)系轉(zhuǎn)換并將結(jié)果保存到變量中。這種轉(zhuǎn)換只需一次。當(dāng)printPolar調(diào)用getTheta時(shí),就會看到極坐標(biāo)系的數(shù)值已經(jīng)是有效的了,直接返回即可。
以上代碼的輸出為:
2 + 3i
3.60555 e^ 0.982794i

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號