您的位置:首页 > 编程语言 > C语言/C++

再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能(08-12-10)

2008-03-19 22:01 441 查看
  再读C++ Primer 写了个小例子——实现stack类的压栈弹栈功能


#pragma once


#define MAX 100




template <class T>




class Stack




...{


public:


    Stack(void)




    ...{


        top=0;


        total=0;


    }




    ~Stack(void)




    ...{}




    void push(T ele)




    ...{


        if(top <MAX && top>=0)




            ...{


                element[total]=ele;


                top++;


                total++;


            }


    }






    T pop()




    ...{


        return element[top-1];


    }






    void empty()




    ...{


        top=0;


        total=0;


    }






    void isEmpty()




    ...{


        if(total==0)


        cout<<"是空栈!"<<endl;


        else




            ...{


                cout<<"不是空栈!"<<endl;


            }


    }






protected:


    T element[MAX];


    int top;


    int total;


};








// test02.cpp : Defines the entry point for the console application.


//




#include "stdafx.h"


#include  "Stack.h"


using namespace std;




int _tmain(int argc, _TCHAR* argv[])




...{


    int a,b,c;


    float a1,b1,c1;


    Stack<int> intStack;


    cout<<"请输入三个整数"<<endl;


    cin>>a>>b>>c;


    intStack.push(a);


    intStack.push(b);


    intStack.push(c);


    cout<<"请输入三个浮点数"<<endl;


    Stack<float> floatStack;


    cin>>a1>>b1>>c1;


    floatStack.push(a1);


    floatStack.push(b1);


    floatStack.push(c1);


    cout<<"判断是否为空:"<<endl;


    floatStack.isEmpty();


    cout<<"pop操作:"<<endl;


    cout<<floatStack.pop()<<endl;


    cin>>a1;


    return 0;


}







实现stack类的压栈弹栈功能
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ float class c
相关文章推荐