您好我希望能够更好地了解有关C ++的一些事情。我们正在学习功能,我错过了一个课程,我认为这是错误的课程,因为我很困惑。关于明确简洁的方向和对术语的理解,我有两个问题。这是我的第一个:
a)编写一个名为“product”的C ++函数,该函数计算传递给它的两个整数值的乘积。该函数将接受两个输入参数,并将计算出的答案作为函数的输出参数返回。 b)编写可用于调用(调用)此函数的单行代码。
这是第二个:a)编写一个名为“product”的C ++函数,它计算传递给它的两个整数值的乘积。该函数将接受两个输入参数,并返回作为执行函数的结果的产品答案。 b)编写可用于调用(调用)此函数的单行代码。
所以我的猜测是第二个意思是这样的:
int product(int a, int b)
{ return a*b; }
和b部分为 cout<< “你的两个数字的乘积是”<<产物(A,B);
首先,我是正确的,无论哪种方式,返回的答案都是输出参数。 虽然我在,你觉得可怜我可以告诉我,我应该使用void而不是int,最后有人可以更好地解释通过引用返回的确切内容。我得到了整个方面,它需要有一个&在参数的最后和“技术上”它允许我改变它而不是仅仅返回它但我希望更深入一些东西?对不起,如此需要,但任何帮助将不胜感激。谢谢 林达
P.S。我会被标记为家庭作业,但它已被弃用。遗憾!
答案 0 :(得分:1)
输出参数是从函数发送数据的另一种方法。基本上你不返回值,而是将函数发送到答案所在的框。将答案放在框中会修改它,并且在函数运行后可以从中获取答案。
“标准”返回值(正如您所做的那样):
int product(int a, int b)
{ return a*b; }
调用标准函数:
int answer = product(10, 5);
cout << answer << endl;
“输出参数”:不是将answer
作为实际值(如5或3)传递,而是发送一个答案所在的框;更改此框的内容也会更改main
函数中变量的值(这表示为int & answer
而不是int answer
)。
void product_output_parameter(int a, int b, int & answer)
{ answer = a*b; }
调用该函数:
int answer;
// send answer in as a place to put the answer
product_output_parameter(10, 5, answer);
// the value stored in answer has changed
cout << answer << endl;
如果这样定义了函数:
void product_output_parameter(int a, int b, int answer)
{ answer = a*b; }
对answer
的更改只会在函数内部发生,因此无效。
希望这有帮助!
答案 1 :(得分:0)
您写出的功能是计算产品并调用产品功能。你也可以像这样调用它。
int productOfAandB = product(a,b);
Referecing允许将调用者范围内的变量更改为被调用者。经典的例子是将Bob送到更衣室以换取PE,在这个程序中,Bob只是进入更衣室并改变,然后告诉Bob这样做的程序继续改变的Bob。如果Bob被复制到更衣室,然后从更衣室返回,取代原来的Bob,它将更像是一个返回值函数。