Heim  >  Artikel  >  Was bedeutet template?

Was bedeutet template?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-07-25 15:12:3716102Durchsuche

Was bedeutet template<class type>?

Die Vorlagenklasse beginnt mit diesem Code: template

template Sie können damit eine Vorlagenklasse oder eine Vorlagenfunktion definieren. wo Klasse ist Der richtige Typ repräsentiert einen Typ.

Klasse wird als Typname der Variablen betrachtet. Die Variable akzeptiert den Typ als ihren Wert.

Fügen Sie die Vorlageninformationen in eine Header-Datei ein und erstellen Sie 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<class 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

Verwandte Empfehlungen: "FAQ"

Erstellen Sie die Quelldatei 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)!=&#39;Q&#39; )
    {
        while(cin.get()!=&#39;\n&#39;)
        {
            continue;
        }
        if(!isalpha(ch))
        {
            cout<<&#39;\a&#39;;
            continue;
        }
        switch(ch)
        {
        case &#39;A&#39;:
        case &#39;a&#39;:cout<<"Enter a PO number to add:"<<endl;
            cin>>po;
            if(st.isfull())
            {
                cout<<"stack already full"<<endl;
            }
            else
            {
                st.push(po);
            }
            break;
        case &#39;P&#39;:
        case &#39;p&#39;:
            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;
}

Was bedeutet template<class type>?

Das obige ist der detaillierte Inhalt vonWas bedeutet template?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Host Host bezieht sich aufNächster Artikel:Host Host bezieht sich auf