定义一个一维数组类ARRAY,要求:①用()而不是[]进行下标访问;②下标从1而不是从0开始;③要对下标是否越界进行检查。请完成程序。
    class ARRAY{
    int *v;    //指向存放数组数据的空间
    int s;    //数组大小
    public:
    ARRAY(int a[], int n);
    ~ARRAY(){delete[]v;}
    int size(){return s;}
    int&operator()(int n);
    };
      ①  operator()(int n)
    {    //()的运算符函数定义
    if(  ②  ){cout<<"下标越界!"; exit(1);}
    return v[n-1];
    }
 
【正确答案】int &ARRAY::  n<1|n>s
【答案解析】 成员函数在类中声明,在类外定义时,使用作用域说明符“::”说明其后的成员函数属于这个特定的类;下标是否越界的判断为n<1|n>s。