重载多维数组下标 c++
来源:互联网 发布:linux删除用户和组 编辑:程序博客网 时间:2024/06/15 23:37
其实就是两个[]叠加起来,具体怎么实现看代码。
http://blog.csdn.net/hityct1/article/details/4123135
- #include <iostream>
- #include <string>
- using namespace std;
- template <class T> class arr;
- template <class T> class arrBody
- {
- private:
- friend class arr<T>;
- T* data;
- int row,col,current_row;
- arrBody(int r,int c,T d):row(r),col(c)
- {
- data=new T[r*c];
- current_row=-1;
- for(int k=0;k<r*c;k++) //初始化数据,默认为0
- data[k]=d;
- }
- public:
- T& operator[](int j) //重载第2个[]号
- {
- if(j>=0&&j<col)
- return data[current_row*col+j];
- }
- ~arrBody(){delete[]data;}
- };
- template <class T> class arr
- {
- private:
- arrBody<T> tBody;
- public:
- arrBody<T> &operator[](int i) //重载第一个[]号
- {
- if(i>=0&&i<tBody.row)
- tBody.current_row=i;
- return tBody;
- }
- arr(int i,int j,T d=0):tBody(i,j,d) {}
- };
- void main()
- {
- arr<int> a(10,20);
- arr<double> b(5,5);
- cout<<a[5][5]<<endl;
- }
0 0
- 重载多维数组下标 c++
- 重载多维数组下标 c++
- 关于多维数组的下标重载
- 【C++】重载二维数组下标 [ ][ ]
- 【C++】重载二维数组下标 [ ][ ]
- 数组下标重载
- [C++]重载二维数组下标 [ ][ ]实现二维矩阵
- C++重载二维数组下标 [ ][ ]
- C多维数组
- c.传递多维数组
- C语言----多维数组
- 重载数组下标操作符,使用operator
- 重载数组下标操作符,使用operator
- 多维数组转一维数组(C)
- 多维数组元素的下标引用于指针访问
- php获取多维数组中某个下标值
- c语言数组下标问题
- C语言与多维数组
- C++ primer 模板与泛型编程
- php5类中的__get()和__set()方法用于private私有属性
- Android 单元测试方法与步骤
- 2. 存储类型
- C++ stringstream介绍,使用方法与例子
- 重载多维数组下标 c++
- Java中 Map、Set、List的基本用法
- RedHat Enterprise Linux 5下Oracle11g安装并升级到11.2.0.3
- html颜色
- mkimage工具详解
- 利润低的商品是否参与全场打折?如何设置?
- ios--解决方案--图片浏览(带缩放+平移)
- android面试题
- 3. 类型限定符