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