C++类模板的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 16:04:13
template<class T>
class Array
{private:
T*alist;
int size;
void Error(ErrorType error, int badindex=0)const;
public:
Array(int sz=50);
Array(const Array<T>&A); 拷贝函数 它中间那个 <T> 什么意思啊
有点迷糊了 把<T>去掉不行吗

你应该找本C++的书仔细看看模板这章。

<T>就是指类的模板啊。

你定义了一个Array类,这个类是一个模板类,也就是说它有无限多种形式,你需要在<>中指定是哪种形式,才能让C++编译器知道之后要实例化成哪种类型。

Array<T>这个T就是你上面template<class T>中的T,也就是说最后这个Class被指定为什么类型,下面的Array也就被指定为相同的类型。这拷贝构造函数肯定要这么定义了。

T,就是你定义的那个模板
你真正用的时候可以替换成你想要的类型
今天上午刚研究这东西来着
给你个我今天找到的博客
觉得看完后,明白挺多
http://blog.chinaunix.net/u1/45018/showart_353795.html

这个是规定,不能去
以前我们老师给我讲课,就说,“这是规定!”

T是参数类型.模板与类最大的不同就是模板可以传递类可以传递的所有参数,除此之外还能传递参数的类型,譬如int,long,unsigned等等做为参数进行传递.