注册 登录
编程论坛 C++教室

请高手帮忙看下这个问题怎么弄!!

baojin 发布于 2009-11-02 15:23, 493 次点击
2.    请你构造一个三维空间中的向量类,这个类能够实现两个向量的加法,减法,向量积,请使用运算符重载来实现相关的运算,并能够输出这个类产生对象的三个分量的值。
假定这个类名为CVECT,请用下面的程序来测试它。
void main()
{
    VECT a,b(1,1,1);
    VECT D[5];
    VECT c=b;
    a=b+c;
    //此处输出a的三个分量
    a=a-c;
    //此处输出a的三个分量
    a=a*c;
    //此处输出a的三个分量
    for (i=0;i<5;i++)
    {
        D[i]=b;
        // 此处输出D[i]的三个分量
    }
}


请高手写下详细精简代码,并付上数据测试和解释,,谢了
2 回复
#2
caolihui10082009-11-02 16:52
void main()
{
    VECT a,b(1,1,1);
    VECT D[5];
    VECT c=b;
    a=b+c;
    cout<<a;
    a=a-c;
    cout<<a;
    a=a*c;
    cout<<a;
    for (i=0;i<5;i++)
    {
        D[i]=b;
        cout<<D[i];    }
}
在此之前应对<<操作符进行重载,

friend ostream& operator<<(ostream& output,VECT& a)
{
int i=0;
for(;i<=2;i++)
{
output<<a.x<<" "<<a.y<<" "<<a.z<<" ";
return output;
}

}



#3
baojin2009-11-03 18:09
回复 2楼 caolihui1008
能详细点写出来么?报过整段代码。
1