下面程序编译时发现ma[3]=9错误,其原因是______。 #include<iostream.h> class FunArray { int*pa; //指向一个数组空问 int size; //数组元素个

admin2010-12-16  31

问题 下面程序编译时发现ma[3]=9错误,其原因是______。
   #include<iostream.h>
   class FunArray
   {
       int*pa; //指向一个数组空问
       int size; //数组元素个数
   public:
       FunArray(int a[],int thesize):pa(a),size(thesize){}
       int Size( ){return size;}
       }
   };
   void main( )
   {
       int s[]={3,7,2,1,5,4};
       FunArray ma(s,sizeof(s)/sizeof(int));
       ma[3]=9;
       cout<<ma[3]<<endl;
   }

选项

答案没有重载[]运算符

解析 ma不是一般的数组,而是一个新定义的类,尽管该类封装了一个数组,但新类并没有提供[]操作符的具体实现,因此是错误的。
转载请注明原文地址:https://jikaoti.com/ti/JXL0FFFM
0

最新回复(0)