// File: slist1.cpp // // Simple use of STL list container class // Derive SortedList class from STL list class // #include #include #include using namespace std ; template class SortedList : public list { public: void add(T x) ; } ; template void SortedList::add(T x) { typename SortedList::iterator it ; it = this->begin() ; while ( it != this->end() ) { if (! (x < *it) ) { break ; } it++ ; } insert(it,x) ; } int main() { SortedList L ; L.add("George Washington") ; L.add("John Adams") ; L.add("Thomas Jefferson") ; L.add("James Madison") ; L.add("James Monroe") ; L.add("John Quincy Adams") ; L.add("Andrew Jackson") ; L.add("Martin Van Buren") ; L.add("William Henry Harrison") ; L.add("John Tyler") ; L.add("James Knox Polk") ; L.add("Zachary Taylor") ; L.add("Millard Fillmore") ; L.add("Franklin Pierce") ; L.add("James Buchanan") ; L.add("Abraham Lincoln") ; L.add("Andrew Johnson") ; L.add("Ulysses Simpson Grant") ; L.add("Rutherford Birchard Hayes") ; L.add("James Abram Garfield") ; L.add("Chester Alan Arthur") ; L.add("Grover Cleveland") ; L.add("Benjamin Harrison") ; L.add("Grover Cleveland") ; L.add("William McKinley") ; L.add("Theodore Roosevelt") ; L.add("William Howard Taft") ; L.add("Woodrow Wilson") ; L.add("Warren Gamaliel Harding") ; L.add("Calvin Coolidge") ; L.add("Herbert Clark Hoover") ; L.add("Franklin Delano Roosevelt") ; L.add("Harry S. Truman") ; L.add("Dwight David Eisenhower") ; L.add("John Fitzgerald Kennedy") ; L.add("Lyndon Baines Johnson") ; L.add("Richard Milhous Nixon") ; L.add("Gerald Rudolph Ford") ; L.add("James Earl Carter") ; L.add("Ronald Wilson Reagan") ; L.add("George Herbert Walker Bush") ; L.add("William Jefferson Clinton") ; L.add("George Walker Bush") ; SortedList::iterator it ; for(it = L.begin() ; it != L.end() ; it++) { cout << *it << "\n" ; } }