问答题

请编写类的成员函数char & CharArray::operator[](int i),将下标运算符[]重载,如果i没有为负数或超界则返回该字符,否则输出“Index out of range.”并且返回0。要求使用if判断实现算法。输出结果如下: Index out of range. Index out Of range. string Index out of range. Index out of range. 6 注意:部分源程序已存在文件test24_2.cpp中。 请勿修改主函数main和其他函数中的任何内容,仅在函数CharArray::operator[]的花括号中填写若干语句。 文件test24_2.cpp的内容如下: #include<iostream.h> class CharArray { public: CharArray(int l) { Length=l; Buff=new char[Length]; } ~CharArray () { delete Buff; } int GetLength () { return Length; } char & operator[] (int i); private: int Length; char *Buff; }; char & CharArray::operator [] (int i) { } void main () { int cnt; CharArray string1(6); char *string2="string"; for(cnt=0; cnt<8; cnt++) string1[cnt] = string2[cnt]; cout<<"\n"; for(cnt=0; cnt<8; cnt++) cout<<string1[cnt]; cout<<"\n"; cout<<string1.GetLength()<<endl; }

【参考答案】

char & CharArray::operator [](int i) { static char ch=0;......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题