Script started on Thu Mar 22 01:58:33 2001 [tsaiwn@ccbsd3] vectorSTK> g++ mymain6.cpp [tsaiwn@ccbsd3] vectorSTK> ./a.out 53770880 [tsaiwn@ccbsd3] vectorSTK> [tsaiwn@ccbsd3] vectorSTK> cat -n mystk6.h 1 //mystk6.h -- CopyLeft by tsaiwn@csie.nctu.edu.tw 2 //implement a template class Stack using a vector 3 #include 4 using namespace std; 5 template 6 class MyStack { 7 vector x; 8 public: 9 void push(const T& y) { 10 x.push_back(y); 11 } 12 T top( ) { 13 return x.back( ); 14 } 15 void pop( ) { 16 x.pop_back( ); 17 } 18 bool empty( ) { return x.begin() == x.end(); } 19 }; [tsaiwn@ccbsd3] vectorSTK> cat -n mymain6.cpp 1 // mymain6.cpp; g++ mymain6.cpp ; ./a.out 2 #include "mystk6.h" 3 //注意以下是 1999之後的 C++ 新寫法, 舊法使用 4 #include 5 using namespace std; 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 Thu Mar 22 01:58:58 2001