C++ 訪問(wèn)函數(shù)(Accessor functions)

2023-03-20 16:49 更新

按照慣例,訪問(wèn)函數(shù)以這樣的方式命名:get + 變量的名字。返回值類型通常是對(duì)應(yīng)的變量的類型。 在這個(gè)例子中,訪問(wèn)函數(shù)可以讓我們?cè)诘玫侥硞€(gè)值前確保該值是有效的。函數(shù)getReal如下:

double Complex::getReal () 
{ 
        if (cartesian == false) calculateCartesian (); 
        return real; 
} 

如果笛卡爾坐標(biāo)系的標(biāo)志位為真,那么real變量中包含著有效的數(shù)據(jù),我們?cè)趃etReal中將其返回即可。為假,我們就需要調(diào)用calculateCartesian從極坐標(biāo)系轉(zhuǎn)化到笛卡爾坐標(biāo)系。

 void Complex::calculateCartesian () 
{ 
        real = mag * cos (theta); 
        imag = mag * sin (theta); 
        cartesian = true; 
} 

假設(shè)極坐標(biāo)系的值是有效的,我們就可以使用前一部分提到的公式來(lái)轉(zhuǎn)換到笛卡爾坐標(biāo)系。然后我們?cè)O(shè)置笛卡爾坐標(biāo)系的標(biāo)志位,表明現(xiàn)在的real和imag的值已有效。
作為練習(xí),寫一個(gè)對(duì)應(yīng)于calculateCartesian的一個(gè)calculatePolar和對(duì)應(yīng)的getMag 及 getTheta方法。關(guān)于訪問(wèn)函數(shù)一個(gè)特殊的地方在于他們不是常量,因?yàn)檎{(diào)用訪問(wèn)函數(shù)可能需要更改對(duì)應(yīng)的變量。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)