单项选择题
有如下的程序:
#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 <iostream> using namespace std; classA private: int a; public: void seta(int x) a=x; void showa() cout<<a<< , ; ; class B private: int b; public: void setb(int x) b=x; void showb() cout<<b<< , ; ; class C:public A,private B private: int c; public: void setc(int x,int y,int z) c=z; seta(x); setb(y); void showc() showa(); showb(); cout<<c<<endl; ; int main() C c; c.setc(1,2,3); c.showc(); return 0; 程序执行后的输出结果是( )。
A.1,2,3
B.1,1,1
C.2,2,2
D.3,3,3