void position (int & C1, int C2=3)
{
C1 += 2;
C2 += 1;
}
int main()
{
int P1 = 20, P2 = 4;
position(P1);
cout<<P1<<","<<P2<<endl;
position (P2,P1);
cout<<P1<<","<<endl;
}
假设包含了所有必需的头文件,那么输出是什么?
答案 0 :(得分:1)
实际上是功能
void position (int & C1, int C2=3)
{
C1 += 2;
C2 += 1;
}
可以像
一样重写void position( int & C1, int = 3)
{
C1 += 2;
}
因为第二个参数未在函数中使用且没有副作用。
因此,只有通过引用传递给函数的第一个参数才会被更改。
在第一个电话中
position(P1);
第一个参数是P1。所以这个电话改变了P1。
在第二个电话中
position (P2,P1);
第一个参数是P2。所以这个电话改变了P2。