ldj150153 2016-06-22 09:05 采纳率: 0%
浏览 2786

C++初学者上机的一个实验题,不出结果,大神们指教一下(VC++6.0编译器)

/*依据下面的描述定义并实现一个向量类Vector,并在main函数中定义所需要的对象验证所实现代码的正确性
1) 私有数据成员int dimension; double* data; 表示向量的维数与向量元素存储空间的首地址
2) 无参构造函数,实现把向量所有元素初始化为0
3) 有参构造函数,实现用一个n维数组初始化n维向量
4) 拷贝构造函数
5) 析构函数
6) 输出数据成员函数 void display( );
7) 成员函数int GetDimension();获取向量对象的维数
8) 成员函数 double SetAt(double newdata,int index);实现给向量的第index+1个元素赋值
9) 成员函数 double GetAt(int index);实现读取向量的第index+1个元素的值
10)实现向量加、减、乘运算的成员函数
Vector Add(const Vector &ob2 );
Vector Sub(const Vector &ob2 );
int Mult(const Vector &ob2 );
*/
#include

class Vector
{
private:
int dimension;
double* data;
public:
Vector();
Vector(int a[]);
Vector(const Vector &v);
~Vector();
void Display();
int GetDimension();
double SetAt(double newdata,int index);
double GetAt(int index);
Vector Add(const Vector &ob2 );
Vector Sub(const Vector &ob2 );
int Mult(const Vector &ob2 );
};
Vector::Vector()//无参构造函数,实现把向量所有元素初始化为0
{
dimension=4;
for(int i=0;i<4;i++)
data[i]=0;
}
Vector::Vector(int a[])//有参构造函数,实现用一个n维数组初始化n维向量
{
dimension=sizeof(a);
int i;
for(i=0;i<dimension;i++)
data[i]=a[i];
}
Vector::Vector(const Vector &v)//拷贝构造函数
{
dimension=v.dimension;
for(int i=0;i<v.dimension;i++)
data[i]=v.data[i];
}
Vector::~Vector()//析构函数
{}
void Vector::Display()//输出数据成员函数
{
cout<<'(';
for(int i=0;i<dimension;i++)
cout<<data[i]<<',';
cout<<')';
}
int Vector::GetDimension()//获取向量对象的维数
{
return sizeof(data);
}
double Vector::SetAt(double newdata,int index)//实现给向量的第index+1个元素赋值
{
data[index]=newdata;
return 0;
}
double Vector::GetAt(int index)//实现读取向量的第index+1个元素的值
{
return data[index];
}
Vector Vector::Add(const Vector &ob2)//实现向量加、减、乘运算的成员函数
{
Vector temp;
temp.dimension=dimension;
for(int i;i<dimension;i++)
temp.data[i]=data[i]+ob2.data[i];
return temp;
}
Vector Vector::Sub(const Vector &ob2)
{
Vector temp;
temp.dimension=dimension;
for(int i;i<dimension;i++)
temp.data[i]=data[i]-ob2.data[i];
return temp;
}
int Vector::Mult(const Vector &ob2)
{
int i;
double sum=0;
for(i=0;i<dimension;i++)
sum+=data[i]*ob2.data[i];
return int(sum);
}

int main()
{
Vector v1;
double data=0;
int a[4]={1,2,3,4};
Vector v2(a);
Vector v3(v2);
Vector v4,v5;
cout<<"lv1:"<<v1.GetDimension()<<endl;
v1.Display();
cout<<"lv2:"<<v2.GetDimension()<<endl;
v2.Display();
cout<<"lv3:"<<v3.GetDimension()<<endl;
v3.Display();
v1.SetAt(3,2);
v1.Display();
cout<<v1.GetAt(2)<<endl;
v1.Display();
v4=v1.Add(v2);
cout<<"v1+v2="<<endl;
v4.Display();
v5=v1.Sub(v2);
cout<<"v1-v2="<<endl;
v5.Display();
int sum;
sum=v1.Mult(v2);
cout<<"v1*v2="<<sum;
return 0;
}

  • 写回答

4条回答

  • baidu_35393293 2016-06-22 09:13
    关注

    编译正常 但没有结果吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧