有如下的程序: #include #include using namespace std; class MyString { public: MyString(const char *s); ~MyString() {delete []data;} protected: unsigned len; char * data; }; MyString::MyString(const char *s) { len = strlen(s); data = new char[len+1]; strcpy(data,s); } int main() { MyString a("C++ Programming"); MyString b(a); return 0; } 在运行上面的程序时出错,出错的原因是( )。
举一反三
- 下列语句中,正确的是( ). A: char myString[ ]="Hello-World!"; B: char myString="Hello-World!"; C: char myString[11]="Hello-World!"; D: char myString[12]="Hello-World!";
- 下列语句中,正确的是( )。 A: char*myString="Hello-World!"; B: char myString="Hello-World!"; C: char myString[11]="Hello-World!"; D: char myString[12]="Hello-World!";
- (7-3)编译如下定义的MyString类,将出现()。class MyString extends java.lang.String{ }
- 中国大学MOOC: 下面程序执行后的输出结果是:#include <iostream>using namespace std;void ss(char *s,char t){while(*s) {if(*s==t) *s=t-a+A;s++;}}int main(){char str1[100]="abcddfefdbd",c=d;ss(str1,c); cout<<str1;return 0;}
- 下列语句中,正确的是()。 A: char*myString=“Hello-World!”; B: charmyString=“Hello-World!”; C: charmyString[11]=“Hello-World!”; D: charmyString[12]=“Hello-World!”;