-1

我有以下类型的函数第一个函数不返回任何内容:

void getString()
{
   newstr=str;
}

另一个返回字符串的函数:

string getString()
{
   newstr=str;
   return newstr; 
}

这是最好的方法,因为在第一种情况下,我们如何知道该功能是成功的?

4

3 回答 3

2

由方法名称给出,getString()- 从逻辑上讲,您希望String在调用它时获得 a 。返回 aString是一个更好的调用和正确的方法。

如果str是成员变量,直接返回:

String getString()
{
   return str; 
}

顺便说一句,Java-

应该String不是string

于 2012-06-11T07:37:20.353 回答
2

如果newstr是成员变量(对象的实例成员),则两者都不正确。getter 不应该改变对象的状态。

在您的伪代码中,这是正确的:

string getString()
{
   return str; 
}
于 2012-06-11T07:39:18.477 回答
0

那么最好的方法取决于你的要求。您应该记住,函数名称及其返回应该是直观的。

场景示例:

  • 如果您希望您的函数在方法链接中使用,那么您通常会返回对象,<<例如cout.
  • 如果您的函数可以返回错误,您通常会返回一个状态作为返回值。
于 2012-06-11T07:38:18.787 回答