重载下标运算符
来源:互联网 发布:同花顺软件加盟 编辑:程序博客网 时间:2024/05/16 19:39
自己实现一个动态分配的数组类。
代码如下:
class Array{public:Array();virtual ~Array();int & operator[](size_t x);const int& operator[](size_t x) const;protected:static const size_t kAllocSize = 4;void resize(size_t newSize);void initializeElements();int *mElems;size_t mSize;private:Array(const Array& src);Array& operator=(const Array& rhs);};
#include "Array.h"#include <stdexcept>using namespace std;Array::Array(){mSize = kAllocSize;mElems = new int[mSize];initializeElements();}Array::~Array(){delete[] mElems;mElems = nullptr;}void Array::resize(size_t newSize){int *oldElems = mElems;size_t oldSize = mSize;mSize = newSize;mElems = new int[newSize];initializeElements();for (size_t i = 0; i < oldSize; ++i) {mElems[i] = oldElems[i];}delete [] oldElems;}int &Array::operator[](size_t x){if (x < 0) {throw out_of_range("");}if (x >= mSize) {resize(x + kAllocSize);}return mElems[x];}const int &Array::operator[](size_t x) const{if (x < 0 || x >= mSize) {throw out_of_range("");}return mElems[x];}
0 0
- 重载下标运算符
- 重载下标运算符[]
- 下标运算符重载【】
- 下标运算符重载
- 下标运算符重载[]
- 重载下标运算符
- 下标运算符[]重载
- 下标运算符的重载
- C++ 下标运算符 重载
- PTA.重载下标运算符[ ]
- C++读书笔记之 下标运算符 [] 重载 运算符重载
- C++怎样重载下标运算符 [ ]
- c++下标运算符的重载
- cppTest-7.5:重载下标运算符[]
- 下标的使用和运算符重载
- c++模板类下标运算符重载
- C++中几个特殊运算符的重载(= 、++、--、下标运算符的重载)
- C++赋值运算符、函数调用运算符、下标运算符(“=”、“()”、“[]”)重载
- Java线程:新特征-线程池
- 背景图片和背景色在ie8在有文本显示不出来
- Failed to send data by channels - post message failed错误解决
- 快速开发工具知多少
- Java线程:新特征-有返回值的线程
- 重载下标运算符
- 对移动互联网服务运营的思考
- linux container网络技术
- drupal7基本术语和主题总结
- Windows Server 2008 R2 多用户实现远程连接登录 远程桌面服务配置和授权激活
- java工程从window移植到Linux系统
- autotools生成Makefile(一)
- Java线程:新特征-锁(上)
- 献给初学者:谈谈如何学习Linux操作系统