2 u014539744 u014539744 于 2014.04.04 11:25 提问

我是一个C++初学者,编程一个实验但调试不对,请帮忙一下

下面是我用C++编程的题目及代码和出现的问题,我改了好久还不对,请帮我看一下问题出在哪
,我该如何去修改呢?麻烦你了!
1.这是题目:

定义一个基类MyArray,基类中可以存放一组数组。
Class Myarray
{ int *alist;
int length;
public:
Myarray( int leng);
~myarray();
void input();
void display();
};
编写构造函数,析构函数及其它函数,实现动态分配内存,释放内存和数据输入输出等功能。并进行调试。
2.定义一个类averarray继承自myarray,在类中求数组的平均值,并输出。进行调试。
3.定义一个类revarray继承自 myarray, 使数组按反序存放,并输出。进行调试。
定义一个类Nawarray继承自averarray和revarray。在继承过程中声明为虚基类,体会虚基类在解决二义性中的问题中的作用。调试中可以试一试不用虚基类出现的问题。

2.这是我用C++语言写的代码:

#include
class Myarray
{
public:
int *alist;
int length;
Myarray(int len);
~Myarray();
void input();
void display();
};
Myarray::Myarray(int len) //实现动态分配内存
{
alist=new int [len];
length=len;

}
Myarray::~Myarray() //释放内存
{
delete (alist);

}

void Myarray:: input() //输入数组元素
{
int i;
cout<<"请输入数组元素:"< for(i=0;i cin>>alist[i];
}
void Myarray:: display() //输出数组元素
{
cout<<"输出的数组元素为:"<<endl;

for(int i=0;i<length;i++)
    cout<<alist[i];
    cout<<endl;

}
class averarray:virtual public Myarray //averarray 继承自 Myarray
{

public:
averarray(int len):Myarray(len){}

int getaver()
{
int i,aver=0;
cout<<"请输入数组元素:"< for(i=0;i {
cin>>alist[i];
aver+=alist[i];
}
aver/=length;
return aver;
}
private:

int aver;

};

class revarray:virtual public Myarray //类revarray 继承自 Myarray
{
public:
revarray(int len):Myarray(len){}
void getreverse()
{
int t;
cout<<"倒序后的数组为:"<<endl;
for(int i=0;i<length/2;i++)
{
t=alist[i];
alist[i]=alist[length-1-i];
alist[length-1-i]=t;

}

for(int j=0;j<length;j++)
{
cout<<alist[j]<<"\t";

}

};
class Nawarray:public averarray,public revarray //类Nawarray 继承自averarray 和 revarray

{
public:
Nawarray(int len):averarray(len),revarray(len),Myarray(len){}

};
void main()
{
averarray(3);
a.input();
a.display();
cout<<"求得平均数为:"<<a.getaver()<<endl;
revarray r(3);
r.input();
r.display();
r.getreverse();
Nawarray n(3);
n.input();
n.display();
cout<<"求得平均数为:"<<n.getaver()<<endl;
n.getreverse();
}

3.这是运行过程中出现的问题:

Compiling...
4.cpp
H:\GIS\新建文件夹\4\4.cpp(88) : error C2504: 'revarray' : base class undefined
H:\GIS\新建文件夹\4\4.cpp(110) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

4.obj - 1 error(s), 0 warning(s)

1个回答

VisualEleven
VisualEleven   Ds   Rxr 2015.01.04 18:31

class xx{}; 每个类的}后面有个;分号结束。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!