//例18.30 限制数组越界 #include using namespace std; class String { public: String(); String(const char*const ch);//带一个参数的构造函数用来初始化字符串 char&operator[](int length);//按引用返回的重载下标运算符函数 int getlen()const{return len;} const char*getstr()const{return str;} private: int len; char*str; }; String::String() { cout<<"默认构造函数\n"; len=0; str=new char[1]; str[0]='\0'; } String::String(const char*const ch) //构造函数定义部分 { cout<<"构造函数\n"; len=strlen(ch); str=new char[len+1]; for(int i=0;ilen) return str[len-1]; else return str[length]; } int main() { String s1; cout<<"s1:"<>s3[999]; cout<<"s3:"<