ITPUB??ì3
ITPUB论坛 » 移动与游戏开发 » 这些template写法有什么不一样?

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: 这些template写法有什么不一样?
离线 dotnetworker
一般会员



精华贴数 0
个人空间 0
技术积分 4690 (290)
社区积分 0 (1442324)
注册日期 2007-6-21
论坛徽章:33
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-1-12 19:58 
这些template写法有什么不一样?

template <calss   T>
class   Sampler
{
public:
void   fun1(T&   );
void   fun2(T%   );
};

template <class   T>
void   Sampler::fun1(T&   t)
{
...
}
template <class   T>
void   Sampler <T> ::fun2(T&   t)       //有的代码这么写的   --类名后面多了 <T>
{
...
}

还有这样的:
class   Sampler
{
public:
        template <class   T>   void   fun1(   T&);
        template <class   U>   void   fun1(   U&);
};

这又跟上面的那种定义方法有什么区别,优劣呢?   

那一般又是怎么写的好呢?


只看该作者    顶部
离线 juanpeng
中级会员



精华贴数 0
个人空间 0
技术积分 4666 (294)
社区积分 0 (1441335)
注册日期 2007-6-21
论坛徽章:27
开发板块每日发贴之星开发板块每日发贴之星开发板块每日发贴之星生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠
生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠生肖徽章2007版:鼠

发表于 2008-1-12 19:58 
C/C++ code
template <class   T>
void   Sampler <T> ::fun2(T&   t)       //有的代码这么写的   --类名后面多了 <T>
-------
模板类的成员函数定义;

template <class   T>   void   fun1(   T&);
这个是一般类里面的自由函数,同时又是模板函数;
二者调用方式也不一样的啊,


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问