首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一个课程习题,帮解决下解决方法

2012-02-12 
一个课程习题,帮解决下要求:编写一个程序,首先获取终端用户输入的数组维数,然后交互读取double值,并为每个

一个课程习题,帮解决下
要求:
编写一个程序,首先获取终端用户输入的数组维数,然后交互读取double值,并为每个值调用成员函数addValue().当完全填充Array对象之后,调用函数at()来显示多有的值。另外一定要编写一个执行深复制的复制构造函数
#include   "stdafx.h "
#include   <iostream>  
#include   <iomanip>  

using   namespace   std;  

class   Array
{
public:
Array(int   dim);
Array(Array   const   &);
~Array();
void   addValue(double);
double   at(int   index)   const   ;

private   :
double   *ptrChar;
int   dimension;
int   top;

};//这是函数声明。上面声明的函数怎么实现呀


int   main()   //函数的调用
{  
int   dim;
cout < < "enter   the   dimension ";

cin> > dim;
if(dim <1)
return   1;
Array   container(dim);
for(int   i=0;i <dim;++i)
{
cout < < "enter   a   double   value ";
double   value;
cin> > value;
container.addValue(value);
}
Array   anotherContainer(container);
for(   i=0;i <dim;++i)
cout < <anotherContainer.at(i) < <endl;

return   0;
}
有人能把类里面的声明函数帮我补完整吗?我自己补了,编译都通过了,就是执行的时候老出问题,初学者,对类的理解还是有点肤浅
谢谢大家了

[解决办法]
Array::Array(int dim)
{
dimension=dim;
top=0;
ptrChar=new double [dim];
}
Array::Array(Array const & A)
{
dimension=A.dimension;
top=A.top;
ptrChar=new double [dimension];
ptrChar=A.ptrChar;
}
Array::~Array()
{
delete [] ptrChar;
}
void Array::addValue(double x)
{
if(top <dimension)
ptrChar[top++]=x;
else
at(x);
}
void Array::at(int index)const
{
cout < <x < <endl;
}

热点排行