一个模仿内建数组的小例子
2011-02-09 10:16
183 查看
#include<iostream> using namespace std; template<typename T> class CArray { public: CArray():m_size(0),m_data(NULL){} CArray(size_t size):m_size(size),m_data(new T[size+1]()){} ~CArray() { if(m_data) { delete []m_data; m_data = NULL; } } public: T &operator [](int i) { if(i >=m_size || m_data == NULL) throw "error"; return m_data[i]; } const T& operator [](int i)const { if(i>= m_size || m_data == NULL) throw "error"; return m_data[i]; } operator T *const(){ return m_data;} operator const T*const() const {return m_data;} private: CArray(const CArray&){} CArray &operator = (const CArray &); private: size_t m_size; T *m_data; }; int main() { CArray<int> a(3); a[0] = 1; *(a+1) = 2; cout<<a[0]<<endl; cout<<a[1]<<endl; cout<<a[2]<<endl; }
相关文章推荐
- js的prototype扩展的一个例子,模仿C#的StringBuilder功能,数组组合字符串,效率大于+拼凑
- 一个数组越界赋值的例子(很形象很生动)
- 一个简单的oracle函数返回数组的例子[zz]
- fig18.4 操作符重载,以一个数组大程序为一个示范性例子
- 一个大型例子搞定 Javascript 的数组基础知识 ——总结《Javascript 权威指南》第六版数组基础知识
- 04_一个例子搞清数组和循环
- 字符数组和指针的一个小例子
- 自定义规则排序数组的一个例子
- 一个模仿Google Suggest的例子
- perl 例子求合并一个数组的方法
- 初步的学会用数组动态添加参数(一个添加存储过程参数的例子)
- 一个字符串到数组的例子 - 回复"成红"的问题, 对其他朋友参考价值不大
- C语言 一个例子说明结构体变量,结构体数组和结构体指针
- 指针和数组的一个例子
- 关于数组的一个例子
- 数组作为参数的一个例子
- 一个数组,索引,泛型,迭代的例子
- 数组不是指针——数组地址不能动态分配空间,一个小例子关于指针移动,以及malloc
- 做一个返回数组的函数(例子)
- .NET(C#) Internals: 以一个数组填充的例子初步了解.NET 4.0中的并行(一)