Script started on Tue Mar 27 03:55:58 2007 [tsaiwn@ccbsd3]queue> g++ testmyq6.cpp [tsaiwn@ccbsd3]queue> ./a.out 880 770 53 [tsaiwn@ccbsd3]queue> [tsaiwn@ccbsd3]queue> cat -n myq6.h 1 //myq6.h === queue using deque -- by tsaiwn@csie.nctu 2 #include 3 using namespace std; 4 template 5 class MyStack: deque { 6 public: 7 void push(const T& y) { 8 MyStack::push_back(y); 9 } 10 T top( ) { 11 return MyStack::front( ); 12 } 13 void pop( ) { 14 MyStack::pop_front( ); 15 } 16 bool empty( ) { 17 return MyStack::begin() == MyStack::end(); } 18 }; [tsaiwn@ccbsd3]queue> cat -n testmyq6.cpp 1 // testmyq6.cpp -- by tsaiwn@csie.nctu 2 // g++ testmyq6.cpp ; ./a.out 3 using namespace std; 4 #include "myq6.h" 5 //注意以下是 1999之後的 C++ 新寫法, 舊法使用 6 #include 7 int main( ) { 8 MyStack x; // 注意這! 其實是 queue !! 9 x.push(880); 10 x.push(770); 11 x.push(53); 12 while(!x.empty( )){ 13 cout << x.top( )<< " "; x.pop( ); 14 } 15 cout << endl; 16 } [tsaiwn@ccbsd3]queue> g++ testmyq6.cpp [tsaiwn@ccbsd3]queue> ./a.out 880 770 53 [tsaiwn@ccbsd3]queue> exit exit Script done on Tue Mar 27 03:57:58 2007