在C++中,我们可以通过引用传递来实现这个函数。下面是一个简单的实现:
```cpp
#include
// Exchange function
template
void exchange(T& a, T& b, T& c) {
T temp = a;
a = b;
b = c;
c = temp;
}
int main() {
int x = 1;
int y = 2;
int z = 3;
std::cout << "Before exchange: " << std::endl;
std::cout << "x = " << x << ", y = " << y << ", z = " << z << std::endl;
exchange(x, y, z);
std::cout << "After exchange: " << std::endl;
std::cout << "x = " << x << ", y = " << y << ", z = " << z << std::endl;
return 0;
}
```
在这个程序中,`exchange`函数接收三个引用参数。这意味着当我们传递变量给这个函数时,我们实际上是传递变量的别名,而不是它们的副本。因此,当我们在函数内部改变这些参数的值时,实际上是在改变原始变量的值。
在`exchange`函数中,我们首先保存`a`的值到一个临时变量`temp`中,然后将`b`的值赋给`a`,`c`的值赋给`b`,最后将`temp`(原来`a`的值)赋给`c`。这样,我们就实现了`a`、`b`和`c`之间的值交换。
在主函数`main`中,我们创建了三个整数变量`x`、`y`和`z`,并给它们赋了初值。然后,我们调用`exchange`函数来交换这三个变量的值。最后,我们打印出交换后的结果,以验证`exchange`函数是否按预期工作。