可自定义数组元素个数的数组类的设计
来源:互联网 发布:windows搜索索引 编辑:程序博客网 时间:2024/06/11 15:36
可自定义数组元素个数的数组类的设计
设计数组类Array,重载赋值运算符和数组界标运算符[]
,设计成员函数Resize重置数组元素的个数。改程序可以根据需要自定义数组下标的上下限,并可以对数组下标越界进行检查。
#include <iostream>#include <fstream>using namespace std;class Array{private: double *aptr; int size; int start_s; int last_s;public: Array(int n1,int n2); ~Array(); void operator=(const Array &a); double & operator [](int arr_no)const; void Resize(int re_start_s,int re_last_s); void displaya()const; void displayb()const;};Array::Array(int n1,int n2):start_s(n1),last_s(n2){ size=n2-n1+1; aptr=new double[size+1]; cout<<"请输入数组元素:"<<endl; for(int i=0;i<size;i++) cin>>aptr[i];}Array::~Array(){}void Array::operator=(const Array &a){ size=a.size; start_s=a.start_s; last_s=a.last_s; aptr=a.aptr;}double & Array::operator[](int arr_no)const{ if(arr_no<start_s||arr_no>last_s) throw string("out of bounds"); return aptr[arr_no-start_s];}void Array::Resize(int re_start_s,int re_last_s){ double *ap; start_s=re_start_s; last_s=re_last_s; size=re_last_s-re_start_s+1; ap=new double[size+1]; ap=aptr; delete[]aptr;}void Array::displaya()const{ for(int i=0;i<size;i++) cout<<"a["<<(start_s+i)<<"]="<<*(aptr+i)<<'\t'; cout<<endl;}void Array::displayb()const{ for(int i=0;i<size;i++) cout<<"b["<<(start_s+i)<<"]="<<*(aptr+i)<<'\t'; cout<<endl;}int main(){ Array a(10,15); cout<<"数组a:"<<endl; a.displaya(); Array b=a; cout<<"数组b:"<<endl; b.displayb(); cout<<"---------------------------"<<endl; try { cout<<"a[11]="<<a[11]<<endl; a.Resize(0,5); cout<<"改变数组下标后:"<<endl; a.displaya(); cout<<"a[11]="<<a[11]<<endl; } catch (string s) { cerr<<s<<endl; } return 0;}
阅读全文
0 0
- 可自定义数组元素个数的数组类的设计
- 获取数组元素的个数
- 柔性数组 元素个数为0的数组 变长数组
- 设定义一个类 整型数组的大小,表示可放元素的个数整型数组当前的元素个数,初始应为0,当elem等于size时,数组满
- 得到动态数组中元素的个数
- 数组中有效元素个数的统计
- perl数组的长度与元素个数
- sizeof 用法 取得数组的元素个数
- C语言求一维数组的元素个数
- perl数组的长度与元素个数
- 数组中存储不定个数的元素
- 使用sizeof判断数组的元素个数
- 求数组中不同元素的个数
- 查询数组中相同元素的个数
- python获取数组元素个数的方法
- 获取数组元素个数的三个方法
- perl数组的长度与元素个数
- C++获取数组元素个数的问题
- MySQL使用一张表的字段更新另一张表的字段
- speex 基本编码解码流程
- python3写xml数据
- 关于C#中实现两个应用程序消息通讯的问题
- c++对c的优化
- 可自定义数组元素个数的数组类的设计
- python:progressbar
- 57条最有价值的经验
- 从高考到程序员---一个五年程序员的回忆及建议
- 多态(静态、动态、函数、宏)
- 关公麻将游戏技术支持
- thinkphp 分页
- Android 线程简介
- 配置环境并打印HelloWorld