2015-03-24 45 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

相关问题