當前位置:編程學習大全網 - 編程軟體 - c++ 編程問題之模板類和模板函數

c++ 編程問題之模板類和模板函數

# include <iostream.h>

# include <assert.h>

template<class T>

class Stack{

public:

Stack(int size) {

this->size = size ;

stack = new T[this->size] ;

tos = -1 ;

}

~Stack() {

delete [] stack ;

}

void push(T data) {

assert(tos <=size-1) ;

++tos ;

stack[tos] = data ;

}

T pop() {

assert(tos >= 0) ;

return stack[tos--] ;

}

bool isFull(){

return tos >= size-1 ;

}

bool isEmpty(){

return tos < 0 ;

}

private:

T* stack;

int size ;

int tos ;

};

void main() {

Stack<int> stack(10) ;

for (int i = 0 ; i < 11 ; i++ ) {

if (!stack.isFull()){

stack.push(i) ;

}

}

for ( i = 0 ; i < 11 ; i++ ) {

if (!stack.isEmpty()){

cout << stack.pop() << " " ;

}

}

}

  • 上一篇:關於軟件設計師試題的問題
  • 下一篇:編程動物案例
  • copyright 2024編程學習大全網