
C++ Template
文章平均质量分 56
zhu2695
Coding life....
展开
-
类模板的 全特化、偏特化
#include using namespace std;templateclass A{public: void function(T1 value1, T2 value2){ cout<<"value1 = "<<value1<<endl; cout<<"value2 = "<<value2<<endl; }};/* 偏特化 */原创 2013-04-21 22:29:37 · 829 阅读 · 0 评论 -
模板函数对象 (TemplateFunctionObject)
#include using namespace std;class GenericAdd{public: template T operator()(T a, T b) { return a + b; }};int main(){ GenericAdd add; cout<<"ad原创 2013-04-06 23:05:06 · 836 阅读 · 0 评论 -
C++模板的 主版本模板类、全特化、偏特化
C++模板编程里的 主版本模板类、全特化、偏特化 1. 主版本模板类 首先我们来看一段初学者都能看懂,应用了模板的程序: 1 #include 2 using namespace std; 3 4 templateclass T1, class T2> 5 class A{ 6 public: 7 void functio转载 2013-03-03 17:55:02 · 632 阅读 · 0 评论 -
在类模板的声明和定义中把.h与.cpp分离
原来一直以为用模板写类的时候只能将声明和定义放在一个.h里面一起实现,其实不是这样的。也可以将其分离,如下:在类模板的声明和定义中把.h与.cpp分离1.声明部分 // Tpl.h#pragma oncetemplateclass CTpl {public: CTpl(); virtual ~CTpl(); void Test(T t);};转载 2013-04-29 23:42:31 · 1249 阅读 · 1 评论 -
函数模板的重载(overload)
/**模板也提供了函数模板重载的功能,只要定义同名的函数模板,具有不同的返回值类型和形参不同,就实现了了函数模板的重载,* 编译器会在调用函数,自动选择对应的函数模板实例化和调用.*/#include template void func(T a){ printf("func(T)\n");}templateint func(T1原创 2013-04-21 22:39:11 · 729 阅读 · 0 评论 -
类模板的继承
/**类模板也支持继承机制.和普通的类继承一样我们可以在继承类里面添加新的成员变量和成员函数.*/#include templateclass A{public: void func(T a) { printf("A:func(T)\n"); }};template class原创 2013-04-21 22:49:49 · 689 阅读 · 0 评论