返回狼盟编程首页
编程搜索 [狼盟旧档]
论坛统计


请输入搜索关键字:
├─◆ 狼盟首页 > 查看贴子 > 详细信息

楼主

[讨论]c++向量类运算 帮忙改正,谢谢


#include<iostream.h>class Vector//向量{private:    float x,y;   public:    friend float Vector f(Vector &a,Vector &b);     ~Vector(){}     Vector(float x1=0,float y1=0)     {x=x1;y=y1;}};float f( Vector &v1,Vector &v2){          Vector v3;       v3.x=v1.x+v2.x;      v3.y=v1.y+v2.y;     return &v3; }void main() {     Vector Vector1(3.4,5),Vector2(4,5.0);     cout<<"两个向量相加为:"<<endl;     cout<<f(Vector1,Vector2)<<endl;      }





jjjkl81 [ 1 楼 ]
2006-03-30 18:57:00
你的程序乱七八糟的,我不知道你想干什么呢返回的数据类型与函数定义的返回类型都不一致,我改了一下可以运行但不知道是不是你要求的那样 不过我感觉哪个友元函数一点必要的没有 完全可以使用重载操作符代替#include<iostream.h>class Vector//向量{private:    float x,y;  public:    friend float addVector (Vector &a,Vector &b);     ~Vector(){}     Vector(float x1=0,float y1=0)     {x=x1;y=y1;}     float dispaly()     {         return x+y;     }};float addVector ( Vector &v1,Vector &v2){    Vector v3;     v3.x=v1.x+v2.x;    v3.y=v1.y+v2.y;    return v3.dispaly(); }void main(){    Vector Vector1(3.4f,5),Vector2(4,5.0);    cout<<"两个向量相加为:"<<endl;    cout<<addVector(Vector1,Vector2)<<endl;} 

木木丛林 [ 2 楼 ]
2006-03-30 20:31:00
我说了是实现向量的加法运算啊。用友元函数做。你display函数return x+y;??怎么能实现这个功能啊??输出的是坐标啊。要求用友元函数做。我的程序乱78遭???大家帮忙。还是先谢谢你。 

tianyuan008 [ 3 楼 ]
2006-03-30 20:55:00
把这个包含进来:#include<valarrays>valarrays<float> 就是你需要的类, 你可以去看看 valarrays 这个文件是怎么写的.