www.pudn.com > container.rar > fig15_03.cpp


// Fig. 15.3: fig15_03.cpp 
// List class test 
#include  
#include "container.h" 
#include  
 
int linktype = 0; 
// Function to test an integer List 
template< class T > 
void createlink( Container< T > &listObject, const char *type ) 
{ 
   cout << "Testing a List of " << type << " values\n"; 
   instructions(); 
   int choice; 
   T value; 
   int index =0; 	 
	   if(strcmp(type,"container")==0) 
	   { 
	   cout<<"Please input sublink "<> choice; 
 
      switch ( choice ) { 
         case 1: 
            cout << "Enter " << type << ": "; 
            cin >> value; 
			listObject.insertAtFront( value ); 
            listObject.print(); 
            break; 
         case 2: 
            cout << "Enter " << type << ": "; 
            cin >> value; 
            listObject.insertAtBack( value ); 
            listObject.print(); 
 
            break; 
         case 3: 
            if ( listObject.removeFromFront( value ) ) 
               cout << value << " removed from list\n"; 
 
            listObject.print(); 
 
            break; 
         case 4: 
            if ( listObject.removeFromBack( value ) ) 
               cout << value << " removed from list\n"; 
 
            listObject.print(); 
			 } 
             
   } while ( choice != 5 ); 
   cout << "End list test\n\n"; 
} 
 
void instructions() 
{ 
   cout << "Enter one of the following:\n" 
        << "  1 to insert at beginning of list\n"  
        << "  2 to insert at end of list\n"  
        << "  3 to delete from beginning of list\n"  
        << "  4 to delete from end of list\n"  
        << "  5 to end list processing\n"; 
} 
 
template< class T > 
void createcontainer( Container< T > &listObject, const char *type ) 
{ 
	Container< T > sublink; 
	cout<<"\nPlease input main link !"< integerList; 
   createlink( integerList, "integer" ); // test integerList 
 
   Container< float > floatList; 
   createlink( floatList, "float" );     // test integerList 
 
 
 
 
 
   return 0; 
}