向量类
来源:互联网 发布:树莓派3 kali linux 编辑:程序博客网 时间:2024/05/18 16:36
/* * 程序的版权和版本声明部分 * Copyright (c)2014, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: fibnacci.cpp * 作 者:高古尊 * 完成日期:2014年5月4日 * 版本号: v1.0 * * 输入描述: * 问题描述: * 程序输出: * 问题分析: */ #include <iostream>using namespace std;class MyVector //定义向量类{public: MyVector(int m); //构造函数,共有m个元素的向量,元素值预置为0 MyVector(const MyVector &v); //复制构造函数 ~MyVector(); //析构函数:释放动态数组所占用的存储空间 friend istream &operator>>(istream &input, MyVector &d); friend ostream &operator<<(ostream &output, const MyVector &d); friend MyVector operator+(const MyVector &d1,const MyVector &d2);//向量相加,对应位置上的元素相加 friend MyVector operator-(const MyVector &d1,const MyVector &d2);//向量相减,对应位置上的元素相减 bool operator==(const MyVector &d);//判断两个矩阵是否相等,即对应位置上的所有元素是否相等private: int *Array; //Array 为动态数组指针,指向向量占用内存的起始地址 int num; //向量中元素个数};MyVector::MyVector(int m){ int i; num=m; Array=new int [m]; for(i=0; i<num; ++i) { *(Array+i)=0; }}MyVector::MyVector(const MyVector &v){ int i; num=v.num; if(*Array!=0) { delete []Array; } else for(i=0; i<num; ++i) { *(Array+i)=*(v.Array+i); }}MyVector::~MyVector(){ if(*Array!=0) { delete []Array; }}istream &operator>>(istream &input, MyVector &d){ int i; for(i=0; i<d.num; ++i) { input>>*(d.Array+i); } return input;}ostream &operator<<(ostream &output, const MyVector &d){ int i; for(i=0; i<d.num; ++i) { output<<*(d.Array+i)<<' '; } return output;}MyVector operator+(const MyVector &d1,const MyVector &d2){ int i; MyVector d((d1.num>d2.num)?d1.num:d2.num); for(i=0; i<d.num; ++i) { *(d.Array+i)=*(d1.Array+i)+*(d2.Array+i); } return d;}MyVector operator-(const MyVector &d1,const MyVector &d2){ int i; MyVector d((d1.num>d2.num)?d1.num:d2.num); for(i=0; i<d.num; ++i) { *(d.Array+i)=*(d1.Array+i)-*(d2.Array+i); } return d;}bool MyVector::operator==(const MyVector &d){ int i; bool f=false; for(i=0; i<num; ++i) { if(*(Array+i)==*(d.Array+i)) f=true; else { f=false; break; } } return f;}int main(){ MyVector d1(5),d2(5); cout<<"输入d1——"; cin>>d1; cout<<"输入d2——"; cin>>d2; cout<<"d1="<<d1<<endl; cout<<"d2="<<d2<<endl; cout<<"d1+d2="<<d1+d2<<endl; cout<<"d1-d2="<<d1-d2<<endl; cout<<"d1"<<((d1==d2)?"==":"!=")<<"d2"<<endl; return 0;}
0 0
- 向量类
- 向量类
- 向量类
- 向量类
- 向量类
- 3D向量类
- 三维向量类
- 二维向量类
- 向量类的实现
- 9-4 向量类
- 一维向量类
- 法向量工具类
- 我的向量类
- 我的向量类
- 我的向量类
- 定义向量类
- 构建向量类Vecto4
- 数组和向量类
- 第10周总结
- 详解UML中的聚合,关联,泛化,接口等关系
- Linux Shell I/O重定向
- 维克多新概念英语
- sshd移植到hisi3716Cv200
- 向量类
- struts2框架下upload.parseRequest(request)为空解决方案
- 一个计算机专业大一新生对自己未来的规划(求关注,求交流) !
- copy, retain, assign , readonly , readwrite,strong,weak,nonatomic整理
- 维克多中学各科一对一辅导
- 我来谈谈Thinkpad S3 20AX000ACDMP04WEHL的一点使用体会
- 控制一个动态生成view 的位置
- 高校创新去哪里了
- leetcode -day8 Copy List with Random Pointer & Single Number I II