------------------------------------------------------------------------------
MC logo
PrintMe Test Driver
[^] Code Examples
------------------------------------------------------------------------------
<<PrintMeLots2 Class pmtest.cc Generalized Stack Class>>
#include <iostream>
#include "printme.h"
#include "printme2.h"
#include "printmult.h"
#include "printmult2.h"

void do_print1(PrintMe &pm)
{
        cout << "a by reference: ";
        pm.print();
        cout << endl;
}

void do_print2(PrintMe pm)
{
        cout << "a by copy: ";
        pm.print();
        cout << endl;
}

void do_print3(PrintMe *pm)
{
        cout << "a by pointer: ";
        pm->print();
        cout << endl;
}

void do_print1(PrintMe2 &pm)
{
        cout << "b by reference: ";
        pm.print();
        cout << endl;
}

void do_print2(PrintMe2 pm)
{
        cout << "b by copy: ";
        pm.print();
        cout << endl;
}

void do_print3(PrintMe2 *pm)
{
        cout << "b by pointer: ";
        pm->print();
        cout << endl;
}

main()
{
        PrintMeLots a(3, 3);
        PrintMeLots2 b(2, 2);

        /* Just show all the combinations. */
        cout << "a direct: ";  a.print();  cout << endl;
        do_print1(a);
        do_print2(a);
        do_print3(&a);

        cout << "\nb direct: ";  b.print();  cout << endl;
        do_print1(b);
        do_print2(b);
        do_print3(&b);
}
<<PrintMeLots2 Class Generalized Stack Class>>