帮忙注释一下程序呀!!!

来源:百度知道 编辑:UC知道 时间:2024/07/01 12:03:52
太难懂了,有人帮忙注释下吗??主要就是排序前的!
template<class T>class dataList;
template<class T>class Element
{
friend class dataList<T>;
private:
T key;
public:
Element():key(0){}
T getKey(){return key;}
void setKey(const T x){key=x;}
Element<T>&operator=(Element<T>&x){
key=x.key;
return *this;
}
int operator==(Element<T>& x){return key==x.key;}
int operator<=(Element<T>& x){return key<=x.key;}
int operator <(Element<T>& x){return key< x.key;}
int operator >(Element<T>& x){return key> x.key;}
};
template<class T>class dataList{
private:
Element<T>* Vector;
int MaxSize,currentsize;
public:
dataList(

呵呵,这个主要就是一个模版类的应用.先给你说一下模版吧.
C++有两种模版,一个是模版类,一个是模版函数.
使用起来差不多.
举个例子吧
#include<stdio.h>
template <class T> //以下可以把T看成一种通用的类型,比如int,doublet等等.
T abc( T a, T b, T c )
{
return 4*a+8*b+3*c;
}
int main()
{
int a,b,c;
float d,e,f;
a=1,b=2,c=3;
d=1.1,e=3.3,f=2.2;
printf("%d",abc(a,b,c));
printf("%f",abc(d,e,f));
}
模版类的使用也是一样.
定义的时候要用
template <class T>
class classname
{...}
定义中可以使用"T",就像用其它类型一样,包括用户自定义类型.
使用的话只要在声明的时候用classname<T> xxx就可以了.
例如:classname<int> myintclass;
这样在你的classname类中,凡是有T的地方全部都替换成int了.

这样说不知道你理解吗?现在你应该能看懂这个程序.
我大概给你注释了一下,可以做一个参考.
template<class T>class dataList; //声明了模版类dataList
template<class T>class Element //定义模版类Element
{
friend class dataList<T>; //友元类dataList
private: //私有成员变量
T ke