home *** CD-ROM | disk | FTP | other *** search
/ C by Discovery (4th Edition) / C_By_Discovery_4th_Edition.tar / C_By_Discovery_4th_Edition / _DISK_ / ch12 / tstarray.cpp < prev    next >
C/C++ Source or Header  |  2005-06-16  |  2KB  |  60 lines

  1. //             tstarray.cpp
  2. //
  3. // Synopsis  - Two arrays of type int are declared, initialized
  4. //             and tested to see if they are equal. The same is
  5. //             done with two arrays of type char.
  6. //
  7. // Objective - To illustrate using class templates.
  8. //
  9.  
  10. //Include files
  11. #include <iostream.h>
  12. #include "array.h"                                   // Note 1
  13. // Function Prototypes
  14. template< class T, int n >                           // Note 2
  15. void print( Array<T,n> A );
  16.  
  17. int main()
  18. {
  19.     Array<int, 5> intarray1, intarray2;              // Note 3
  20.     Array<char, 4> chararray1, chararray2;           // Note 4
  21.     int i;
  22.  
  23.     for ( i = 0; i < 5; i++ ) {
  24.         intarray1[i] = i;                            // Note 5
  25.         intarray2[i] = 5-(i+1);
  26.     }
  27.  
  28.     print( intarray1 );                              // Note 6
  29.     print( intarray2 );
  30.  
  31.     if ( intarray1 == intarray2 )                    // Note 7
  32.         cout << "Equal\n";
  33.     else
  34.         cout << "Not Equal\n";
  35.  
  36.     for ( i = 0; i < 4; i++ ) {
  37.         chararray1[i] = 'a' + i;                     // Note 5
  38.         chararray2[i] = 'a' + i;
  39.     }
  40.  
  41.     print( chararray1 );                             // Note 6
  42.     print( chararray2 );
  43.  
  44.     if ( chararray1 == chararray2 )                  // Note 7
  45.         cout << "Equal\n";
  46.     else
  47.     cout << "Not Equal\n";
  48.  
  49.     return 0;
  50. }
  51.  
  52. /************************************* print() *********************/
  53. template< class T, int n >                           // Note 2
  54. void print( Array<T,n> A )
  55. {
  56.     for ( int i = 0; i < n; i++ )
  57.         cout << A[i] << " ";                         // Note 8
  58.     cout << endl;
  59. }
  60.