有如下程序:includeincludeusing namespace std;class MyString{public:My 有如下程序: #include<cstring> #include<iostream> 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[1en+1]; strcpy(data,s); } int main( ){ MyString a("C++Progreanfing"); MyString b(A) ; return 0; } 在运行上面的程序时出错,错误的原因是A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深复制)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成缺失的复制构造函数
有如下程序:includeincludeusing namespace std;class MyString{public:My
有如下程序: #include<cstring> #include<iostream> 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[1en+1]; strcpy(data,s); } int main( ){ MyString a("C++Progreanfing"); MyString b(A) ; return 0; } 在运行上面的程序时出错,错误的原因是
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制(深复制)的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成缺失的复制构造函数
相关考题:
有如下的程序: include include using namespace st 有如下的程序: #include<cstring> #include<iostream> 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++Programing"); MyString b(a); return 0; } 在运行上面的程序时出错,出错的原因是A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的拷贝构造函数C.构造对象a时实参与形参类型不符D.系统不能生成缺省的拷贝构造函数
有如下的程序: #include<cstring.h) #ingclude<iostream.h) using namespace std; Class MyString {public: MyString(const char*s); ~MyString(){delete[]data;} protected: unsigned len; char*data;}; MyString::MyString(const char*S) {lA.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数
有下列的程序: include include using namespace std; cl 有下列的程序: #include<cstring.h> #include<iostream.h> 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++Programing"); MyString b(a); return 0; } 在运行上面的程序时出错,出错的原因是( )。A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数
有如下的程序:include include using namespace std;class MyString{p 有如下的程序: #include <cstring.h> #include <iostream.h> 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++ Programing"); MyString b(a); return 0; } 在运行上面的程序时出错,出错的原因是A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数
有下列的程序:includeincludeusing namespace std;class MyString{pub 有下列的程序: #include<cstring.h> #include<iostream.h> using namespace std; class MyString { public: MyString(const char*s); ~MyString()<delete[]data;} protected: unsigned len; char*data; };A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数
请将如下程序补充完整,使得输出结果为:bbaa。 include using naluespace std; class 请将如下程序补充完整,使得输出结果为:bbaa。include<iostream>using naluespace std;class A{public:______{eout<<"aa";}};class B:public A{public:~B( ){eont<<"bb";}};int ulain( ){B*P=new B;delete P;return 0;}
有如下的程序:include include using namespace std;class MyString{ 有如下的程序:#include <cstring.h>#include <iostream. h>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++ Programing"); MyString b(a); return0;}在运行上面的程序时出错,出错的原因是( )。A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象a时实参与形参类型不符D.系统不能生成默认的复制构造函数
有如下的程序;include include using namespace std;class MyString{public 有如下的程序; #include <ctring> #include <iostream> 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++ Programing"); MyString b(a); return 0; } 在运行上面的程序时出错,出错的原因是______ 。A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的拷贝构造函数C.构造对象a时实参与形参类型不符D.系统不能生成缺省的拷贝构造函数
阅读以下程序,给出运行结果 #include <iostream> #include <cstring> using namespace std; int main() { string str="I love China!"; cout << str; return 0; }