c++创建链表为什么要用类模板
C++创建链表,十字链表很多例子中都用到了template,就是模板,我感觉学起来有些难度,谁能告诉我为什么要用模板呢?用模板,类模板有什么好处吗?是不是一定要用呢?...
C++创建链表,十字链表很多例子中都用到了template ,就是模板,我感觉学起来有些难度,谁能告诉我为什么要用模板呢?用模板,类模板有什么好处吗?是不是一定要用呢 ?
展开
1个回答
2013-10-21
展开全部
类模板能够为类的数据成员、成员函数的参数、返回值提供动态参数化的机制,即可以构造不同数据类型的实例。
比如用C++创建链表,用模板就可以创建字符串链表,也可以是整型或浮点型的等;不然就要各自编写一下链表类的程序了,但是它们的数据结构却是相同的。
不过要是用VC++写类模板有个问题——不能够分离编译,即类的头文件(.h)和源文件(.cpp)不可以分开,而C++一般是强调分离编译,在头文件声明,源文件实现的。所以可以把它们写在一个头文件中,或者在调用时要两个都声明一下:#include <类名.h>
#include <类名.cpp>
其实VC++自身带有一个标准模板库(STL),STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>,可以直接应用,而不必重复去开发了
比如用C++创建链表,用模板就可以创建字符串链表,也可以是整型或浮点型的等;不然就要各自编写一下链表类的程序了,但是它们的数据结构却是相同的。
不过要是用VC++写类模板有个问题——不能够分离编译,即类的头文件(.h)和源文件(.cpp)不可以分开,而C++一般是强调分离编译,在头文件声明,源文件实现的。所以可以把它们写在一个头文件中,或者在调用时要两个都声明一下:#include <类名.h>
#include <类名.cpp>
其实VC++自身带有一个标准模板库(STL),STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator>、<vector>、<list>、<map>、<memory>、<numeric>、<queue>、<set>、<stack>和<utility>,可以直接应用,而不必重复去开发了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询