模板
//T是模板参数,tempate声明模板的关键字,typename声明 模板参数的关键字
Template<typename T>//template<class T>
class stack{
private:
vector<T> elems;
publice:
void push(T elem){
elems.push_back(elem);
}
void pop(){
if(elems.size()>0)
elems.pop_back();
else
cout<<"栈为空"<<endl;
}
T top(){
if(elsems.size()>0)
return elems.back();
else
return NULL;
}
size_t size(){
return elems.size();
}
};
Int main(){
stack<int> stk;
stk.push(1);
skk.push(2);
stk.push(3);
while(stk.size()>0){
cout<<stk.top()<<" ";
stk.pop();
}
}
函数模板
class A{
private:
int num;
Public:
A(int num){
this->num = num;
}
friend ostream& operator<<(ostream &out,A a);
};
Ostream& operator<<(ostream &out,A a){
out<<a.num;
return out;
}
Int main()
{
stack<A> stk;
A a(1);
A b(2);
A c(3);
Stk.push(a);
stk.push(b);
stk.push©;
while()stk.size()>0){
cout <<stk.top()<<" ";
stk.pop();
}
}
1785

被折叠的 条评论
为什么被折叠?



