问题
单项选择题
有如下的程序:#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.系统不能生成缺省的拷贝构造函数
答案
参考答案:B