有下列的程序: #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[1en+1);strcpy(data,s); } int main() {MyString a("C++Programing");MyString b(A) ;return 0; }在运行上面的程序时出错,出错的原因是( )。
A.构造函数的实参不允许是本类的对象
B.没有定义实现深层复制(深拷贝)的复制构造函数
C.构造对象a时实参与形参类型不符
D.系统不能生成默认的复制构造函数