在一个类中,定义了一个类名加&号返回值类型的函数,参数为两个int数据,求教该函数的返回值该怎么写
这是一道大题目,代码很多,就发要写的那部分。main函数有关部分:
#include "Sequence.h "
#include "readandwritearray.h"
int main()
{
Sequence *list=new Sequence(20);
int *result =Read();
list=&list->InsertData(result[1],result[0]);
类中有关部分
class Sequence
{
public:
Sequence(void);
Sequence(int max);
~Sequence(void);
Sequence& InsertData(int index,const int&element);//顺序表的插入
void Show();//顺序表的遍历
int* datalist; //数组
int maxLength; //顺序表的最大容量
int length; //顺序表的当前容量
};
//构造方法实现
Sequence::Sequence(int max)
{
this->maxLength = max;
this->length = 10;
static int a[10]={11,3,4,21,5,6,7,8,10,14}; //静态变量,不会变释放
this->datalist=a;
}
//析构方法实现
Sequence::~Sequence(void)
{
delete [] datalist;
}
最后是要写的部分:
Sequence& Sequence::InsertData(int index,const int&element){
//TODO:根据位置下标插入数据
if(this->length >= this->maxLength||element>length||element<0)
{
return;
}
for(int i=this->length-1;i>=0;i--)
{
if(i!=element)
{
datalist[i+1]=datalist[i];
}else
{
datalist[i+1]=datalist[i];
datalist[i]=index;
break;
}
}
this->length++;
}