今天继续完善我的c++框架,由于是新手,所以问题源源不断,主要是为模块问题。比较模块文件实现要放到头文件中,这个也是在csdn论坛上发贴才知道,感谢网友的回答。
先来理解下模板的一些定义吧:
模板是一个蓝图,它本身不是类或函数,编译器用模板产生指定的类或函数的特定类型版本。所以我们要知道,它是一个用来生成类或函数的工具。
主要文字理解了,哈哈!
一、模板所生成的函数并非都是合法的,关键在于所给的类型是否支持这一操作。可以在模板内部使用大量通信的泛型
二、编写模板代码时,对实参类型的要求尽可能少是很益的。
ⓐ模板的const引用
ⓑ函数体中的测试只用 < 比较 a < b b < a
类的实例化
实例化的样子如下:
这里用int来实例化
template <class T> Queue<int> {
public :
Queue();
int & font();
...........
}
有T的地方都变为了int了,同时也在类后面多了<int>
类模板的每次实例化都会产生一个独立的类。为int类型实例化的Queue与其他的Queue类型没有关系,对其他Qeue类型的成员也没有特殊的访问权。
等完善。。。