有如下的程序: #include<cstring.h) #ingclude<iostream.h) using namespace std; Class MyString {public: MyString(const

admin2010-12-16  48

问题 有如下的程序:    #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)    {l

选项 A、构造函数的实参不允许是本类的对象
B、没有定义实现深层复制(深拷贝)的复制构造函数
C、构造对象a时实参与形参类型不符
D、系统不能生成默认的复制构造函数

答案B

解析  C++语宫中当一个新对象被另一个已存在的同类型对象初始化时要调用复制构造函数,语句’MyS- trmg b(a),”符合此条件将调用类MyString的复制构造函数,但是类MyString没有定义此复制构造函数,所以会出错。
转载请注明原文地址:https://kaotiyun.com/show/16Vp777K
0

最新回复(0)