2015-03-24 47 views
-2

我正在做一個任務,並決定檢查下面的問題與我的POD。這個任務基本上需要產生一個乘法問題,並根據他是否正確或錯誤而永遠循環。 所以產生了我的問題:Void and cout vs int

int Elementary::setProblem() 
{ 
srand (time(NULL)); 
firstfactor = rand() %1; 
secondfactor = rand() %1; 
answer = factor1 * factor2; 
return answer; 
} 

然而,有人告訴我,這方法是這樣做的正確方法:

void Elementary::setProblem() 
{ 
    srand (time(NULL)); 
    firstfactor = rand()%10; 
    secondfactor = rand()%10; 
    answer = firstfactor * secondfactor; 
} 

她基本上告訴我答案=已經設置了私有成員而那個回報沒有用處。

我的方法會不會更快,因爲我不必設置問題,然後再製作第二個函數來解決問題?

+0

只調用一次srand。 – 2015-03-24 22:34:30

+0

沒有足夠的代碼(答案在哪裏聲明?)或上下文(誰使用答案,爲什麼?)來回答問題。 – 2015-03-24 22:36:09

+0

答案是私人定義的數據成員。答案用於驗證用戶的輸入。 – 2015-03-24 22:46:41

回答

2

setter函數通常不返回任何內容。

setter和getter函數對的全部要點是,你可以調用一個來設置某個值,另一個可以返回值。這樣,例如,你可以完全避免存儲answer,並在實際需要時在吸氣劑中計算它 - 在這種情況下,這可能沒有任何好處,但在某些情況下,這可能是一種好處。

+0

好的,謝謝!這是我正在尋找的答案,我會upvote,但我沒有代表 – 2015-03-24 22:48:54

+1

@JackyMoon:作爲問問題的人,你不需要對答案投票。相反,你接受最好的答案(複選標記)。 – MSalters 2015-03-25 09:35:30

相關問題