首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<cstring> #include<iostream> using namespace std; class MyString{ public: MyString(const char *
有如下程序: #include<cstring> #include<iostream> using namespace std; class MyString{ public: MyString(const char *
admin
2011-01-19
60
问题
有如下程序: #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[1en+1]; strcpy(data,s); } int main( ){ MyString a("C++Progreanfing"); MyString b(A) ; return 0; } 在运行上面的程序时出错,错误的原因是
选项
A、构造函数的实参不允许是本类的对象
B、没有定义实现深层复制(深复制)的复制构造函数
C、构造对象a时实参与形参类型不符
D、系统不能生成缺失的复制构造函数
答案
B
解析
当类中的数据成员有指针时,必须使用深层复制构造函数,否则会发生指针悬挂。在进行函数析构时,会出现指针丢失现象。
转载请注明原文地址:https://www.kaotiyun.com/show/9HVp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有定义:doublex;,以下选项中不能将输入数据0.681读入赋给变量x的是()。
有以下程序#include<stdio.h>#include<string.h>main(){inti;chara[]="Howareyou!";for(i=0;a[i];i++)if(a[
有以下程序:#includemain(){ints;scanf(’’%d’’,&s);while(s>0){switch(s){case1:printf(’’%d’’,s+5)case2:printf(’’%d’’,s+4);brea
下列给定程序中,函数fun的功能是:依次取出字符串中所有的数字字符,形成新的字符串,并取代原字符串。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<stdlib
下面不属于软件设计阶段任务的是
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
若有“chars[3][3]={"AAA","BBB","CCC");”说明语句,则与它等价的语句是()。
以下关于C语言函数参数传递方式的叙述中正确的是()。
设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是()。
下列关于运算符重载的叙述中,正确的是()。
随机试题
下列不属于同基因移植的是
有关Χ线对比度的叙述,错误的是
高血压的主要病理改变是
依据中药药性理论,清热燥湿药的性味多为()。
需鼻饲饮食的患者,每次的鼻饲量和间隔时间为()。
家庭养殖等不以土地为主要生产资料的农业生产活动可划为私有经济。()
发明专利权的保护范围,以说明书及附图为准。()
教育是指学校教育。()
下列名句出处对应都正确的是:①朝闻道,夕死可矣②吾生也有涯,而知也无涯③知者不言,言者不知④穷则独善其身,达则兼善天下
行政处罚法规定了一系列保证行政处罚公开的制度如()。
最新回复
(
0
)