高手帮忙看看这道程序C++的向量

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:31:54
#include<iostream.h>
class list
{
private:
int msize;
int i;
int a[100];
public:
list(int size)
{
msize=size;
for(int i=0;i<=msize;i++)
a[i]=i;
}
//~list(){delete []a;}
void insert(int x, int p)
{
if((x<0)||(x>=msize)) cout<<"xxxxxxxxxx"<<endl;
else
for(int j=msize;j<i;j--)
a[j+1]=a[j];
a[i]=p;
msize--;
}
void print()
{
for(i=0;i<=msize;i++)
cout<<"a[i]"<<endl;
}
};
void main()
{
list aa;
aa.list(8);
aa.print();
aa.insert(3,000);
aa.print();
}

你的类中,没有无参的构造函数,只有一个参数为int的构造函数,所以你在main函数的第一行中的写法就会报错;另外,第二行中的构造函数不可以这样调用。print()函数中的数组也越界了,将<=改为<就可以了。

for(int i=0;i<=msize;i++)
改为:
for(int i=0;i<msize;i++)