c++类模板.ppt

c++类模板.ppt

ID:48784405

大小:134.50 KB

页数:8页

时间:2020-01-24

c++类模板.ppt_第1页
c++类模板.ppt_第2页
c++类模板.ppt_第3页
c++类模板.ppt_第4页
c++类模板.ppt_第5页
资源描述:

《c++类模板.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第九章类模板1.引言例子:_1字符栈例子:_2用typedef实现代码的通用“type”在一个程序中只能代表一种类型.如果在一个程序中有多个类型的栈,比如character_stack,int_stack,double_stack等,此时就不可能使用typedef实现代码的重用。类的模板提供了一种简单的方式实现代码的重用,代价是增加了时空开销。2.类的模板Classtemplate类模板创建的不是一个有具体成员类型的类,这些成员的类型用类型参数Type(typearguments)代替,对模板实例化时再给类型参数传递实际的

2、类型。关键字class表示“Type”是一个类型参数,可由用户任意命名,也可用typename代替,类模板实例化时可以用任意已定义的类型名代替Type,包括所有的内部类型或自定义类型。类模板的成员函数自动成为模板函数,所以在类模板成员函数在类外定义时都有template;“Type”的作用域只局限在类模板的声明中,在模板成员函数的实现中可重新命名,但在同一个成员函数中类型参数名要一致。3.类模板成员函数的定义4.类模板构造函数和析构函数的定义注意:Stack::不能写成Stack::。类模

3、板的实例化是在类模板名的后面跟<具体的类型名>Stackis(50);//整型栈,长度为50Stackcs(200);//字符栈,长度为200类模板的实例化类似于函数的调用,创建模板类时,将具体的类型代替类型参数,产生一份具体的类的代码,有多少个不同类型的模板类,就会产生多少分不同的代码,所以模板类实现代码重用的同时增加了时空开销。类模板中也可以有多个类型参数,也可以有具体的类型:template

4、_3atemplateclassStack5.类模板的实例化6.模板函数模板类一旦产生,它与一般的类的使用是相同的,它的对象也可用作函数参数,但此时的函数不是模板函数,不具有通用性。voidDebugPrint(Stack&s);//形参是一个整型栈如果不希望出现表示模板的<>,可以用typedef给模板类定义一个别名,如:typedefStackIntStack;voidDebugPrint(IntStack&s);模板函数具有通用性.template//模板参数列表voidDe

5、bugPrint(Stack&s);//函数参数列表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。