数组的操作符重载
来源:互联网 发布:淘宝店铺如何替换图片 编辑:程序博客网 时间:2024/05/22 08:04
#ifndef _ARRAY_H_#define _ARRAY_H_class Array{private:int mLength;int * mSpace;public:Array(int lenght);Array(const Array& obj);int getlength();void setData(int index,int value);int getData(int index);~Array();int& operator[](int i);Array& operator=(Array& a2);bool operator==(Array &a1);bool operator!=(Array& a1);};#endif
#include <iostream>#include "01.h"Array::Array(int length){ if(length<0) { length=0; } mLength=length; mSpace=new int[mLength];}Array::Array(const Array& obj){mLength=obj.mLength;mSpace=new int[mLength];for(int i=0;i<mLength;i++){mSpace[i]=obj.mSpace[i];}}int Array::getlength(){return mLength;}int Array::getData(int index){return mSpace[index];}Array::~Array(){mLength=-1;delete[] mSpace;}int& Array::operator[](int i){ return mSpace[i];}//a3=a2 //执行=操作//如果a3 已经分配内存需要释放//根据a2 开辟内存空间,把a2的值copy 到a3 中。 Array& Array::operator=(Array& a2){if(this->mSpace!=NULL){delete[]mSpace;mLength=0;}this->mLength=a2.mLength;this->mSpace=new int[this->mLength];for(int i=0;i<this->mLength;i++){mSpace[i]=a2[i]; }return *this;}bool Array::operator==(Array& a1){//a1 和a2 长度相等if(this->mLength!=a1.mLength){ return false;}for(int i=0;i<this->mLength;i++){if(this->mSpace[i]!=a1[i]){ return false;}} return true;}bool Array:: operator!=(Array& a1){ return !(*this==a1);}
#include <iostream>#include "01.h"using namespace std;void main(){Array a1(10);for(int i=0;i<a1.getlength();i++){//给数组的元素赋值 需要把数组元素本身 返回回来( )//函数返回值当左值,需要返回一个引用//a1.setData(i,i); a1[i]=100+i;}for(int i=0;i<a1.getlength();i++){printf("array %d:%d\n",i,a1[i]);}Array a2=a1;for(int i=0; i<a2.getlength(); i++){printf("aray %d:%d\n",i,a2.getData(i));}}
0 0
- 数组的操作符重载
- 数组操作符的重载
- 34-数组操作符[]的重载
- C++重载[]数组操作符
- 操作符的重载以及数组/vector对象的初始化
- 21、不一样的C++系列--数组操作符的重载
- 操作符重载的应用(数组类)
- 操作符的重载
- 操作符的重载
- 操作符的重载
- 操作符的重载
- 操作符的重载
- 操作符的重载
- C++运算符重载(12) - 重载数组索引操作符[]
- 类中友元函数 、重载操作符 和 数组
- 重载数组下表操作符
- 重载数组下标操作符,使用operator
- php中重载数组操作符
- Hadoop yarn配置
- Oracle简介
- scala生成eclipse文件报:Cannot run program "javac": CreateProcess error=2,解决方法
- 这里炒股的人应该很多,对于今天的多说几句吧
- 传说中的越南小学数学题
- 数组的操作符重载
- List::构造、复制构造、析构
- vs2010下配置pthread
- eclipse安装maven插件的步骤
- ice demo中关于#if compact #endif宏解释
- android 代码混淆导致问题,快速定位
- Vi编辑命令
- iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
- aidl ( 四) 各部分代码的执行进程和线程