http://www.acaverse.com

                                                                  【快3彩票平台注册】template<class type>是什么意思-常见问题

                                                                  ]

                                                                  模板类以这样的代码开头:template<class Type>

                                                                  template <class Type> 可以用它定义一个模板类或模板函数 ,class 所对的type表示一种类型。

                                                                  class看作是变量的类型名,该变量接受类型作为其值,把Type看作是该变量的名称。

                                                                  将模板信息放在一个头文件中,建立stacktp.h

                                                                  #ifndef STACKTP_H_#define STACKTP_H_// 建立模板template<class Type>class Stack{private:    enum {MAX=10};    Type items[MAX];    int top;public:    Stack();    bool isempty();    bool isfull();    bool push(const Type & item);    bool pop(Type & item);};template<class Type>Stack<Type>::Stack(){    top=10;}template<class Type>bool Stack<Type>::isempty(){    return top==0;}template<cla[ss Type>bool Stack<Type>::isfull(){    return top==MAX;}template<class Type>bool Stack<Type>::push(const Type &item){    if(top<MAX)    {        items[top++]=item;        return true;    }    else        return false;}template<class Type>bool Stack<Type>::pop(Type & item){    if(top>0)    {        item=items[--top];        return true;    }    else        return false;}#endif

                                                                  相关推荐:《常见问题》

                                                                  建立源文件stacktem.cpp;

                                                                  #include<iostream>#include<string>#include<cctype>#include"stacktp.h"using namespace std;int main(){    Stack<string> st;// 创建一个空的stack,和前面的模板联系起来    char ch;    string po;    cout<<"Please enter A to add a purchase order.\n"        <<"P to precess a PO,or Q to quit."<<endl;    while(cin>>ch && toupper(ch)!='Q' )    {   ,     while(cin.get()!='\n')        {            continue;        }        if(!isalpha(ch))        {            cout<<'\a';            continue;        }        switch(ch)        {        case 'A':        case 'a':cout<<"Enter a PO number to add:"<<endl;            cin>>);po;            if(st.isfull())            {                cout<<"stack already full"<<endl;            }            else            {                st.push(po);            }            break;        case 'P':        case 'p':            if(st.isempty())            {                cout<<"stack already empty"<<endl;            }            else            {                st.pop(po);                cout<<"PO #"<<po<<" popped\n";     (           break;            }        }        cout<<"Please enter A to add a purchase order,\n"            <<"P to process a PO,or Q to quit.\n";    }    cout<<"Bye!"<<endl;        return 0;}

                                                                  zz.jpg

                                                                  郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

                                                                  上一篇:充电9分钟续航435公里,莲花纯电动超跑Evija发布 - 莲花,电动超跑
                                                                  下一篇:没有了