到了第二节课了。类模板,其实和函数模板形式差不多,也是静多态嘛。编译的时候再实例化特定的版本。减少了内存,提高了运行时效率,I think!
不多说了,主要是就三点:类模板、模板完全特化、模板偏特化.
类模板:其实也就是指定模板参数供类使用,类在实例化的时候再决参数类型。
代码:
main.c
-
#include "ClassTemplate.h"
-
#include <iostream>
-
#include <string>
-
-
using namespace std;
-
-
int main(int argc, char ** argv)
-
{
-
///< 类模板
-
ClassTpt<int> classTest(5);
-
classTest.showData();
-
ClassTpt<int>(5).showData();
-
-
///< 完全特化
-
Evening<string> doI; ///< 我就喜欢跳绳啥的
-
doI.doSports();
-
-
Evening<SB> doOth; ///< 某些人喜欢做运动,同时喜欢看电影啥的
-
doOth.doSports();
-
doOth.watchingMovies();
-
-
///< 对了,管哥还说了。模板也可以作为特化类型 like this:
-
///< Evening< Evening<SB> > doI; doI.doSports();
-
-
///< 模板偏特化
-
//TODO
-
-
///< 模板参数默认<可以自己变化>
-
Eg<int, 3> eObj;
-
eObj.dosh();
-
-
getchar();
-
return 0;
-
}
模板完全特化:在类的定义时就指定模板参数,就类似特定的需求、特定的定制.
模板偏特化: 一半特化,一半保持原始参数.
我也是瞎理解的,毕竟还比较菜。学习ing...
阅读(2046) | 评论(0) | 转发(0) |