2012-10-01 112 views
1

這是一個非常簡單的C++問題,但我無法得到這個。 我正在做一個工作,問題來了,創建一個簡單的計算器類,執行不同的操作。我已經通過方法很容易做到這一點,但它說更多的計算器類功能

「由計算器對象執行的每個操作必須存儲在 對象的內存,它可以獲取或由用戶設置進一步。」

作爲提示書給了兩種方法

voidSetMem(double d); 
double GetMem(); 

我不明白什麼呢這行的意思。

+0

哈哈.... double d – 0x499602D2

回答

1

Undertanding getter/setter方法

基本上是一個 '消氣' 是返回存儲在某些變量的數據,在你的課本提示

double getMem() 
{ 
//Return your data 
return memoryVariable; 
} 

和你「的功能Setter'將用於設置一些變量的功能

void setMem (double variableToPass) 
{ 
memoryVariable = variableToPass 
} 

注意兩件事: 1.)getter函數返回一個數據類型double(因爲您要求程序爲您提供已經設置/存儲的數據) 2。)setter函數返回數據類型(因爲你是在告訴/設置一些變量)

這是一個基本的例子,從一個正方形GET面積:

double getArea() 
{ 
    return pow(side, 2); 
} 

現在在你的程序,你會得到這個像這樣的數據:

cout << " The area of the circle is " << sq1.getArea() <<"\n"; 

這裏是一個基本的例子,從方形設置的區域:

void setSide(double newSide) 
{ 
    side = newSide; 
} 

而在你的程序中,你可以像這樣設置這些數據:

sq1.setSide(50); 

希望這會回答你的問題。祝你好運

2

就指令而言,如果您正常執行計算並將其結果存儲在對象中,則可能是可能的。

在您的calculator類中,創建一個變量,用於存儲上次執行的計算。這兩個函數將能夠將該值存儲在該變量中,並獲取上次執行的計算的值。 假設你有這種結構。

class Calculator 
{ 
    private : 
    double last_result ; 
    public: 
    void setMem(const double) ; 
    double getMem()const ; 

} ; 

在這些函數中,您可以使傳入值等於該對象中的值。

在你的主,你會這樣做。

double _result = 3.4 * 6 ; 
Calculator c_obj ; 
c_obj.setMem(_result) ; 

如果你想輸出的結果,或在程序中使用它在其他地方,利用getMem()功能。

cout << "Last Result was :" << c_obj.getMem() << endl ; 
+0

但是,獲得記憶意味着什麼? – alternatefaraz

+0

謝謝,我明白了 – alternatefaraz