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

帮忙看个小程序c++

longzhixuan 发布于 2010-10-26 16:31, 477 次点击
   #include<iostream>
   using namespace std;
   class vector
   {
   public:
       vector(float nx,float ny)
       {
           x=nx;y=ny;
       };//构造函数
      float Add( );//计算加法运算
      float Sub( );//计算减法运算
      float Mult( );//乘法运算
   private:
       float x,y;
   };
   
   float vector::Add( )//加法功能函数
   {
       return x+=ob2.x,y+=ob2.y;
   }
   float vector::Sub( )// 加法功能函数
   {
       return x-=ob2.x,y-=ob2.y;
   }
   float  vector::Mult( )//乘法功能函数
   {
       return x*=ob2.x,y*=ob2.y;
   }
    float getx(vector ob)//类外访问数据成员函数
    {
        return x;
    }
    float gety(vector ob )//类外访问数据成员函数
    {
        return y;
    }

    float main()
    {
        float nx,ny;
        cout<<"输入第一个矢量数的x和y值"<<endl;
        cin>>nx>>ny;
        vector ob1;
        cout<<"类外访问第一个矢量的值是:"<<endl;
        getx(ob1);
        gety(ob1);

        cout<<"输入第二个矢量数的x和y值"<<endl;
        cin>>nx>>ny;
        vector ob2;
        cout<<"类外访问第二个矢量的值是:"<<endl;
        getx(ob2);
        gety(ob2);

        cout<<"jiafa"<<endl;
        ob1.Add(const Vector &ob2);
        cout<<x<<y<<endl;

        cout<<"jianfa"<<endl;
        ob1.Sub(const Vector &ob2);
        cout<<x<<y<<endl;

        cout<<"chenfa"<<endl;
        Mult(const Vector &ob2);
        cout<<x<<y<<endl;
    }


[ 本帖最后由 longzhixuan 于 2010-10-26 16:32 编辑 ]
6 回复
#2
MrBluer2010-10-26 17:49
声明变量就好了
#3
m21wo2010-10-26 19:08
写的真叫失败啊!!!
#4
m21wo2010-10-26 20:30
程序代码:
#include<iostream>
using namespace std;
class vector
{
public:
    vector(float nx=0,float ny=0)
    {
        x=nx;y=ny;
    }//构造函数
    vector Add(vector& ob2);//计算加法运算              /*加法减法乘法后应该得一个相同的数据类型啊*/
    vector Sub(vector& ob2);//计算减法运算
    vector Mult(vector& ob2);//乘法运算
    float GetX()
    {
        return x;
    }
    float GetY()
    {
        return y;
    }
private:
    float x,y;
};

vector vector::Add(vector& ob2)//加法功能函数
{
    vector temp;
    temp.x=x+ob2.x;
    temp.y=y+ob2.y;
    return temp;
}
vector vector::Sub(vector& ob2)// 减法法功能函数
{
    vector temp;
    temp.x=x-ob2.x;
    temp.y=y-ob2.y;
    return temp;
}
vector vector::Mult(vector& ob2)//乘法功能函数
{
    vector temp;
    temp.x=x*ob2.x;
    temp.y=y*ob2.y;
    return temp;
}
/*
float getx(vector ob)//类外访问数据成员函数
{
    return x;
}
float gety(vector ob )//类外访问数据成员函数
{
    return y;
}
*/

int main()
{
    float nx,ny,nx1,ny1;
    cout<<"输入第一个矢量数的x和y值"<<endl;
    cin>>nx>>ny;
    vector ob1(nx,ny);
    cout<<"类外访问第一个矢量的值是:"<<endl;
    cout<<"("<<ob1.GetX()<<","<<ob1.GetY()<<")"<<endl;

    cout<<"输入第二个矢量数的x和y值"<<endl;
    cin>>nx1>>ny1;
    vector ob2(nx1,ny1);
    cout<<"类外访问第二个矢量的值是:"<<endl;
    cout<<"("<<ob2.GetX()<<","<<ob2.GetY()<<")"<<endl;

    cout<<"加法"<<endl;
    vector ob3;
    ob3=ob1.Add(ob2);
    cout<<"("<<ob3.GetX()<<","<<ob3.GetY()<<")"<<endl;


    cout<<"减法"<<endl;
    vector ob4;
    ob4=ob1.Sub(ob2);
    cout<<"("<<ob4.GetX()<<","<<ob4.GetY()<<")"<<endl;

    cout<<"乘法"<<endl;
    vector ob5;
    ob5=ob1.Mult(ob2);
    cout<<"("<<ob5.GetX()<<","<<ob5.GetY()<<")"<<endl;
}
帮你改了一下!
#5
longzhixuan2010-10-26 21:25
回复 4楼 m21wo
谢谢啊!刚开始学,不太懂!多谢指导!受益了!
#6
小葳的宝宝2010-10-28 23:00
主函数int main()最后不用加return 0 吗?
#7
青青子惊2010-10-30 19:39
回复 5楼 longzhixuan
可以不用写的
1