标题:设计并实现一个可由用户在生成对象时给定大小的整数向量类IntVect的问题
取消只看楼主
sunrenen
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-7
 问题点数:0 回复次数:0 
设计并实现一个可由用户在生成对象时给定大小的整数向量类IntVect的问题

设计并实现一个可由用户在生成对象时给定大小的整数向量类IntVect。
下面是一个使用IntVect类的程序示例及输出结果。

void main ( )
{
IntVect v1(4); // 生成一个含四个分量的向量,即v1=(0, 0, 0, 0)
v1[0] = 1;
v1[1] = 2;
v1[2] = 3;
v1[3] = 4; // 此时v1=(1, 2, 3, 4)
IntVect v2 = v1; // 此时v2=(1, 2, 3, 4)
IntVect v3 = v1 + v2; // 此时v3=(1, 2, 3, 4)
IntVect v4;
v4 = v1 - v2; // 此时v4=(0, 0, 0, 0)
cout << v3 << endl << v4 << endl;
}

上面程序的输出结果应该为:
(2, 4, 6, 8)
(0, 0, 0, 0)
这是我写的,,改了半天还是错误的,,那个高手发个正确的给我,,让我学习一下
#include "stdafx.h"

class IntVect
{ public:
Intvect(int );
IntVect & operator =(const InVect &);
IntVect & operator +(const InVect &);
private:
int v[4];

};
Invect::Intvect(int num)
{ intvect = new Intvect;
intvect.v[0]=intvect.v[1]=intvect.v[2]=intvect.v[3]=0;
}
IntVect & IntVect:: operator=(const IntVect & rhs)
{ intvect = new Intvect;
*v[0]=rhs.v[0];
*v[1]=rhs.v[1];
*v[2]=rhs.v[2];
*v[3]=rhs.v[3];
return intvect;
}
IntVect & IntVect:: operator+(const IntVect & rhs)
{ intvect = new Intvect;
*v[0]=rhs.v[0]+*v[0];
*v[1]=rhs.v[1]+*v[1];
*v[2]=rhs.v[2]+*v[2];
*v[2]=rhs.v[3]+*v[2];
return intvect;
}
void main ( )
{
IntVect v1(4); // 生成一个含四个分量的向量,即v1=(0, 0, 0, 0)
v1[0] = 1;
v1[1] = 2;
v1[2] = 3;
v1[3] = 4; // 此时v1=(1, 2, 3, 4)
IntVect v2 = v1; // 此时v2=(1, 2, 3, 4)
IntVect v3 = v1 + v2; // 此时v3=(1, 2, 3, 4)
IntVect v4;
v4 = v1 - v2; // 此时v4=(0, 0, 0, 0)
cout << v3 << endl << v4 << endl;
}

搜索更多相关主题的帖子: 对象 给定 IntVect 整数 向量 
2007-06-03 14:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-144517-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.132074 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved