我正在完成一项任务,并决定用我的POD检查以下问题。赋值基本上需要生成乘法问题并永远循环,这取决于他是否正确或错误。 所以要产生我的问题:
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;
}
她基本上告诉我,answer =已经设置了私有成员,并且返回没有用处。
我的方法不会更快,因为我不必设置问题,然后再做第二个功能来解决问题吗?
答案 0 :(得分:2)
setter函数通常不会返回任何内容。
setter和getter函数对的重点在于你调用一个来设置一些东西,另一个用来获取值。这样,你可以,例如,完全避免存储answer
,并在实际需要时在getter中计算它 - 在这种特殊情况下,这可能没有任何好处,但在某些情况下,这可能是一个好处。