您当前的位置: 首页 >  c++

phymat.nico

暂无认证

  • 1浏览

    0关注

    1967博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ 模板详解(二)

phymat.nico 发布时间:2018-01-26 00:22:05 ,浏览量:1

C++模板

 

 

四、类模板的默认模板类型形参

  1、可以为类模板的类型形参提供默认值,但不能为函数模板的类型形参提供默认值。函数模板和类模板都可以为模板的非类型形参提供默认值。

  2、类模板的类型形参默认值形式为:template class A{};为第二个模板类型形参T2提供int型的默认值。

  3、类模板类型形参默认值和函数的默认参数一样,如果有多个类型形参则从第一个形参设定了默认值之后的所有模板形参都要设定默认值,比如templateclass A{};就是错误的,因为T1给出了默认值,而T2没有设定。

  4、在类模板的外部定义类中的成员时template 后的形参表应省略默认的形参类型。比如template class A{public: void h();}; 定义方法为template void A::h(){}。

定义类模板类型形参:

 演示实例1:

  TemplateDemo.h

复制代码
 1 #ifndef TEMPLATE_DEMO_HXX
 2 #define TEMPLATE_DEMO_HXX
 3 
 4 template class A{
 5     public:
 6         T g(T a,T b);
 7         A();
 8 };
 9 
10 #endif
复制代码

  TemplateDemo.cpp

复制代码
 1 #include
 2 #include "TemplateDemo.h"
 3 
 4 template A::A(){}
 5 
 6 template T A::g(T a,T b){
 7     return a+b;
 8 }
 9 
10 void main(){
11     A a;
12     cout            
关注
打赏
1659628745
查看更多评论
立即登录/注册

微信扫码登录

0.0511s