完整程序如下:

#include using namespace std;

template class ARRAY { private: T* v; //指向存放数组数据的空间,T为类型参数 int s; //数组大小
public: ARRAY(int n) { int i; v = new T[n]; //创建数组空间 s = n; for (i = 0; i < n; i++) { cin >> v[i]; } } ~ARRAY(void) { delete[] v; //释放数组空间 } int size(void) { return s; } T& operator[](int n) { //[ ]运算符重载函数 if (n < 0 || n >= s) { cerr << "下标越界!"; exit(1); } return v[n]; } };

int main() { ARRAY a(5); cout << "数组大小为:" << a.size() << endl; cout << "数组元素依次为:"; for (int i = 0; i < a.size(); i++) { cout << a[i] << " "; } cout << endl; return 0;

已知一维数组类模板ARRAY的定义如下ARRAY与普通一维数组区别是:其重载的运算符 要对下标是否越界进行检查。请完善程序。#includeusing namespace std ; class ARRAY private T v ; 指向存放数组数据的空间T为类型参数 int s ; 数组大小 public ARRAYint n int i

原文地址: https://www.cveoy.top/t/topic/fEiO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录