// swap1.cc #include #include using namespace std; void swap1 (int i, int j); void swap2 (int& i, int& j); void swap3 (int* ip, int* jp); int main() { int i, j; i = 3; j = 4; swap1(i, j); cout << "a: " << i << " " << j << endl; i = 3; j = 4; swap2(i, j); cout << "b: " << i << " " << j << endl; i = 3; j = 4; int& ir = i; int& jr = j; swap1(ir, jr); cout << "c: " << ir << " " << jr << endl; cout << "d: " << i << " " << j << endl; i = 3; j = 4; swap2(ir, jr); cout << "e: " << ir << " " << jr << endl; cout << "f: " << i << " " << j << endl; int* ip; ip = &i; int* jp; jp = &j; i = 3; j = 4; swap3(ip, jp); cout << "g: " << *ip << " " << *jp << endl; i = 3; j = 4; swap1(*ip, *jp); cout << "h: " << i << " " << j << endl; i = 3; j = 4; swap2(*ip, *jp); cout << "i: " << i << " " << j << endl; return 0; } void swap1 (int i, int j) { int x; x = i; i = j; j = x; } void swap2 (int& i, int& j) { int x; x = i; i = j; j = x; } void swap3 (int* ip, int* jp) { int x; x = *ip; *ip = *jp; *jp = x; } /* Output: a: 3 4 b: 4 3 c: 3 4 d: 3 4 e: 4 3 f: 4 3 g: 4 3 h: 3 4 i: 4 3 */