首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的程序: #include <cstring.h> #include <iostream.h> using namespace std; class MyString { public: MyString
有如下的程序: #include <cstring.h> #include <iostream.h> using namespace std; class MyString { public: MyString
admin
2013-02-27
44
问题
有如下的程序: #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、系统不能生成默认的复制构造函数
答案
B
解析
本题考核类的构造函数。c++语言中当一个新对象被另一个已存在的同类型对象初始化时要调用复制构造函数,语句"MyString b(a);"符合此条件将调用类MyString的复制构造函数,但是类MyString没有定义此复制构造函数,所以会出错。
转载请注明原文地址:https://jikaoti.com/ti/8sL0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在以下给出的表达式中,与“while(E)”中的“(E)”不等价的表达式是()。
有以下程序: #include<stdio.h> main() { intk=5; while(--k) printf("%d",k-=3); printf("\n"); } 程序运行后的输出结果是(
按照C语言规定的用户标识符命名规则,不能出现在用户标识符中的是()。
下列数据流图构造规则中正确的是()。
下列各组排序法中,最坏情况下比较次数相同的是()。
下列关于C语言文件的叙述中正确的是()。
算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是()。
设栈的存储空间为S(1:50),初始状态为top=0。现经过一系列正常的入栈与出栈操作后,top=51,则栈中的元素个数为()。
下列函数原型声明中错误的是
已知__--X树中序遍历序列是cbade,它的后序遍历序列是cbeda,前序遍历序列是【】。
随机试题
A、骨疏康颗粒B、妙济丸C、活血止痛散D、养血荣筋丸E、颈复康颗粒治疗跌打损伤,瘀血肿痛选用()
A.利多卡因B.阿司匹林C.阿托品D.异丙嗪E.金刚烷胺
财政发生赤字的时候,其弥补方式有()Ⅰ.发行国债Ⅱ.增加税收Ⅲ.增发货币Ⅳ.向银行借款
企业购进货物发生的下列相关税金中,应计入货物取得成本的有()。
总经理:我主张小王和小李两人中至少提拔一人。董事长:我不同意。以下哪项,最为准确地表述了董事长实际的意思?()
具体问题具体分析所依据的辩证法原理是()。
Intel 80x86CPU 可以访问的I/O空间共有( )。
Wheredidthedialoguehappen?
Itisdifficultforatwo-year-oldchild(read)_______thisbook.
WhyIntegrityMattersWhatisIntegrity?A)"Integrity"isdefinedas"adherencetomoralandethicalpri
最新回复
(
0
)