Answer to Question 2.10

001: /* Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
002: /* The C++ Answer Book */
003: /* Tony Hansen */
004: /* All rights reserved. */

//:2_11a.c
// swap two integers
// version 1
void swapints(int *a, int *b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

//: version 1
#include <stream.h>
#include "2_11a.c"

main()
{
    int a = 1, b = 2;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(&a, &b);
    cout << "a = " << a << ", b = " << b << "\n";
    a = 1, b = 1;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(&a, &b);
    cout << "a = " << a << ", b = " << b << "\n";
    a = 0, b = 1;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(&a, &b);
    cout << "a = " << a << ", b = " << b << "\n";
    return 0;
}

// 2_11b.c
// swap two integers
void swapints(int &a, int &b)
{
    int t = a;
    a = b;
    b = t;
}

//: version 2
#include <stream.h>
#include "2_11b.c"

main()
{
    int a = 1, b = 2;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(a, b);
    cout << "a = " << a << ", b = " << b << "\n";
    a = 1, b = 1;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(a, b);
    cout << "a = " << a << ", b = " << b << "\n";
    a = 0, b = 1;
    cout << "a = " << a << ", b = " << b << "\n";
    swapints(a, b);
    cout << "a = " << a << ", b = " << b << "\n";
    return 0;
}
Menu of Chapter 2 Answers
Answer to Question 2.11