C++模板函数又出错了
下面这个程序是用来直接插入排序的,程序明明是对的,为什么执行显示不出来啊?是不是我的编译器出问题了呢?
#include<iostream.h>
template <class T>
class Sort
{
T *m;
int num;
public:
Sort(T *p,int n)
{
m=p;
num=n;
}
void do_sort()
{
T *p=new T(num);
int j=0,temp;
while(j!=num)
{
p[j]=m[j];
j++;
}
int s=num;
num=1;
for(int i=1;i<s;i++)
{ j=0;
while(p[i]>m[j]&&j<num)
{
j++;
}
temp=num;
while(temp>j)
{
m[temp]=m[temp-1];
temp--;
}
m[j]=p[i];
num++;
}
}
void disp()
{
cout<<"adfaasdf";
for(int i=0;i<num;i++)
cout<<this->m[i]<<" ";
}
};
void main()
{
int a[]={45,3,56,78,9,989,47};
Sort <int>A(a,sizeof(a)/sizeof(a[0]));
A.do_sort();
A.disp();
}