摘要: 模板一共有三种类型:1.第一种包含模型:包含模型是讲模板的定义和声明都放在头文件里(注:一般我们写的代码是将声明放在头文件里,实现放在cpp里,防止产生两份实现代码)缺点:包含模型会增加代码的量。如果在不同文件里有两个相同的类型调用则会产生两份相同实现,C++编译器可以自己处理这个问题。2.手动实例化示例:template void print_type(double const& x);缺点:造成混乱3.分离模型分离模型是在声明和定义处都使用export关键字即可,用的较少。 阅读全文
posted @ 2013-07-25 16:36 l851654152 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 1.对于T是自定义类型的,如果存在子类型则需要在模版内部加上typename示例代码:templateclass Myclass{ typename T::SubType *ptr;//需要加上typename不然编译器可能误解为是静态对象SubType和ptr相乘};2.类模版里对基类成员函数的调用使用BASE::exit();和this->,避免调用的是外部全局函数,但是在vc6.0上面这条规则是先调用的BASE里面的函数。示例代码:#include #include #include using namespace std;void exit(){ cout class BaseM 阅读全文
posted @ 2013-07-25 10:02 l851654152 阅读(2183) 评论(0) 推荐(0) 编辑