1. 程式人生 > >泛型程式設計:模板類

泛型程式設計:模板類

#include <iostream>
#include <vector>
using namespace std;

template<typename T>
class MyStack
{
public:
    MyStack();
    ~MyStack();
    void num();
    T top();
    void pop();
    void push(T t);
    void showStack();

private:
    vector<T>list;
};

template<typename
T> MyStack<T>::MyStack() { } template<typename T> MyStack<T>::~MyStack() { } template<typename T> void MyStack<T>:: num() { cout << list.size() << endl; } template<typename T> T MyStack<T>::top() { return list[list.size()-1]; } template
<typename T> void MyStack<T>::push(T t) { list.push_back(t); } template<typename T> void MyStack<T>::pop() { list.pop_back(); } template<typename T> void MyStack<T>::showStack() { for (int i = 0; i < list.size(); i++) cout << list[i] << " "
; cout << endl; } int main() { MyStack<int> intStack; intStack.push(1); intStack.push(2); intStack.push(3); intStack.showStack(); intStack.pop(); intStack.showStack(); cout << "******************************" << endl; MyStack<double> doubleStack; doubleStack.push(1.12); doubleStack.push(2.23); doubleStack.showStack(); doubleStack.pop(); doubleStack.showStack(); system("pause"); return 0; }

這裡寫圖片描述