首页 > 分享 > 模板来设计模板函数和模板类

模板来设计模板函数和模板类

模板来设计模板函数和模板类

最新推荐文章于 2024-09-13 17:00:00 发布

yanerhao 于 2015-04-17 19:58:37 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

模板功能提供了在函数和类中将类型作为参数的能力,让通用的模板函数或者模板类成为现实。模板函数或者模板类声明如下:

template<typename T>-------------模板前缀;T为类型参数,可以是常见任何类型

模板函数定义如下:

template<typename T>

返回类型 函数名(T 参数....){

  operations...(可以定义T类型变量)

}

模板类声明:

template<typename T>

class 类名{

 返回类型 函数名(T 参数....)};

模板类声明后,分开,进行类定义:

template<typename>

返回类型 类名<T>::函数名(

T 参数....){

  operations...(可以定义T类型变量)

}

比如定义一个T类型的模板类stack,可以是int,double,string:

#ifndef A

#define A

template<typename T>

class stack{

private:

T ele[100];

int size;

public:

stack(){size=0;}

bool empty();

T peek();

void push(T x);

T pop();

int getsize(){return size;}};

template<typename T>

bool stack<T>::empty(){if(size==0) return true;

else return false;}

template<typename T>

T stack<T>::peek(){if(empty()) throw runtime_error("empty");

else return ele[size-1];}

template<typename T>

void stack<T>::push(T x){ele[size++]=x;}

template<typename T>

T stack<T>::pop(){if(empty()) throw runtime_error("empty");

else return ele[--size];}

#endif

主函数调用:

#include"15.h"

template<typename T>

void prt(stack<T> &ee){

while(!ee.empty()){

try{

cout<<ints.pop()<<" ";}

catch(exception&e){cout<<e.what()<<endl;}

}

cout<<endl;}

int main(){

stack<int> ints;

for(int i=0;i<10;i++)

ints.push(i);

prt(ints);

stack<string> ss;

ss.push(""beijing"");

ss.push(""shanghai"");

ss.push(""nanjing"");

prt(ss);

system("pause");

return 0;}

相关知识

模板来设计模板函数和模板类
类模板(基础知识回顾)
HTML宠物商店类网站模板资源
宠物网页模板
宠物店网站模板
外贸企业模板:猫咪宠物网站(zblogphp模板)
宠物用品网页模板
设计作品图片列表网页模板资源
Bootstrap宠物商店模板
票据领用清单模板

网址: 模板来设计模板函数和模板类 https://m.mcbbbk.com/newsview671535.html

所属分类:萌宠日常
上一篇: (题解)7
下一篇: Nature子刊:北京大学段小洁