有如下的程序:#include <cstring.h>#include <iostream. h>using namespace std;class MyString{ public: MyString(const char*s); ~MySt

admin2013-05-30  12

问题 有如下的程序:#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、系统不能生成默认的复制构造函数

答案2

解析
转载请注明原文地址:https://kaotiyun.com/show/KFNp777K
0

最新回复(0)