Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/DataType/Array/ArrayTst.cpp

Go to the documentation of this file.
00001 // Driver for simple class Array
00002 #include <iostream.h>
00003 #include "array1.h"
00004 
00005 int main()
00006 {
00007    // no objects yet
00008    cout << "# of arrays instantiated = "
00009         << Array::getArrayCount() << '\n';
00010 
00011    // create two arrays and print Array count
00012    Array integers1( 7 ), integers2;
00013    cout << "# of arrays instantiated = "
00014         << Array::getArrayCount() << "\n\n";
00015 
00016    // print integers1 size and contents
00017    cout << "Size of array integers1 is "
00018         << integers1.getSize()
00019         << "\nArray after initialization:\n"
00020         << integers1 << '\n';
00021 
00022    // print integers2 size and contents
00023    cout << "Size of array integers2 is "
00024         << integers2.getSize()
00025         << "\nArray after initialization:\n"
00026         << integers2 << '\n';
00027 
00028    // input and print integers1 and integers2
00029    cout << "Input 17 integers:\n";
00030    cin >> integers1 >> integers2;
00031    cout << "After input, the arrays contain:\n"
00032         << "integers1:\n" << integers1
00033         << "integers2:\n" << integers2 << '\n';
00034 
00035    // use overloaded inequality (!=) operator
00036    cout << "Evaluating: integers1 != integers2\n";
00037    if ( integers1 != integers2 )
00038       cout << "They are not equal\n";
00039 
00040    // create array integers3 using integers1 as an
00041    // initializer; print size and contents
00042    Array integers3( integers1 );
00043 
00044    cout << "\nSize of array integers3 is "
00045         << integers3.getSize()
00046         << "\nArray after initialization:\n"
00047         << integers3 << '\n';
00048 
00049    // use overloaded assignment (=) operator
00050    cout << "Assigning integers2 to integers1:\n";
00051    integers1 = integers2;
00052    cout << "integers1:\n" << integers1
00053         << "integers2:\n" << integers2 << '\n';
00054 
00055    // use overloaded equality (==) operator
00056    cout << "Evaluating: integers1 == integers2\n";
00057    if ( integers1 == integers2 )
00058       cout << "They are equal\n\n";
00059 
00060    // use overloaded subscript operator to create rvalue
00061    cout << "integers1[5] is " << integers1[5] << '\n';
00062 
00063    // use overloaded subscript operator to create lvalue
00064    cout << "Assigning 1000 to integers1[5]\n";
00065    integers1[5] = 1000;
00066    cout << "integers1:\n" << integers1 << '\n';
00067 
00068    // attempt to use out of range subscript
00069    cout << "Attempt to assign 1000 to integers1[15]" << endl;
00070    integers1[15] = 1000;  // ERROR: out of range
00071 
00072    return 0;
00073 }
00074 

Generated on Sun Oct 14 18:46:17 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001