39、C++定义一个类,实现向量的加减运算

这里写图片描述

//定义一个类,实现向量的加减运算
#include<stdio.h>
#include<iostream>
class Vector                        //定义向量类Vector
{public:
    int *p;                         //定义整型指针
    int Size;                       //成员参数Size表示向量维数,即一维数组大小
    Vector(int Size,int *Datas);    //定义构造函数
    ~Vector();                      //定义析构函数
    Vector * Add(Vector &another);   //定义成员函数计算向量和
    Vector * Sub(Vector &another);   //定义成员函数计算向量差
};

Vector::Vector(int Size,int *Datas)  //构造函数
{
    Vector::Size=Size;
    Vector::p=new int[Size];
    int i;
    for (i=0;i<Size;i++)
    {
        p[i]=Datas[i];  
    }
}

Vector::~Vector()
{
    delete p;
}

Vector* Vector::Add(Vector &another)
{
    if(Vector::Size!=another.Size)
    {
      return NULL;
    }
    else
    {
       Vector *result;                  //定义Vector类指针表示运算结果
       result= new Vector(Size,p);      //为结果分配空间
       int i;
       for(i=0;i<Size;i++)
       {
           result->p[i]=Vector::p[i]+another.p[i];

       }
       return result;   
    }
}


Vector *Vector::Sub(Vector &another)
{
    if(Vector::Size!=another.Size)
    {
       return NULL;
    }
    else
    {
        Vector *result;
        result = new Vector(Size,p);
        int i;
        for (i=0;i<Size;i++)
        {
            result->p[i]=Vector::p[i]-another.p[i];     
        }
        return result;

    }
}

void main()
{
    int A[4]={1,2,3,4},B[4]={5,1,2,8};
    Vector VA(4,A),VB(4,B),*VC;
    VC=VA.Add(VB);
    std::cout<<(*VC).p[0]<<","<<(*VC).p[1]<<","<<(*VC).p[2]<<","<<(*VC).p[3]<<std::endl;
    VC=VA.Sub(VB);
    std::cout<<(*VC).p[0]<<","<<(*VC).p[1]<<","<<(*VC).p[2]<<","<<(*VC).p[3]<<std::endl;

}
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值