首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接使用VC6打开考生文件夹下的工程projl,其中有“MP3播放器”’类MP3Player和主函数main的定义。程序中位于每个//ERROR**********found**********下的语句行有错误,请加以更正。更正后程序的输出
请使用菜单命令或直接使用VC6打开考生文件夹下的工程projl,其中有“MP3播放器”’类MP3Player和主函数main的定义。程序中位于每个//ERROR**********found**********下的语句行有错误,请加以更正。更正后程序的输出
admin
2016-09-20
59
问题
请使用菜单命令或直接使用VC6打开考生文件夹下的工程projl,其中有“MP3播放器”’类MP3Player和主函数main的定义。程序中位于每个//ERROR**********found**********下的语句行有错误,请加以更正。更正后程序的输出应该是:
天籁~1
黑色
注意:只能修改每个//ERROR********** found**********下的那一行,不要改动程序中的其他内容。
#include
#include
using namespace std;
class MP3Player{ //“MP3播放器”类
char* type;//型号
char*color;//颜色
public:
//ERROR**********found**********
MP3Player(const char* ty=NULL,const char* co){
//ERROR**********found**********
if(ty=NULL)
type=NULL;
else{
type=new char[strlen(ty)+1];
strcpy(type,ty);
}
if(co==NULL)
color=NULL;
else{
color=new char[strlen(co)+1];
strcpy(color,co);
}
}
~MP3Player(){
if(type)delete[]type;
//ERROR**********found**********
if(color)delete color;
}
const char*getType()const{return type;}
const char*getColor()const{return color;}
};
int main(){
MP3Phyer myplayer(“天籁-1”,“黑色”);
cout<
COUt<
return 0;
}
选项
答案
(1)MP3Player(const char*ty=NULL,const char*co=NULL){ 或MP3Player(const char*ty,const char*co){ (2)if(ty==NULL) (3)if(color)delete[]color;
解析
(1)主要考查考生对函数参数的默认值的掌握,C++中的函数可以提供默认实参,如果一个形参具有默认实参,那么它之后的所有形参都必须有默认实参,题目中ty提供了默认实参,所以co也必须提供默认实参,或者将ty的默认实参去掉。
(2)主要考查考生对相等运算符与赋值运算符区别的掌握,题意是判断指针ty是否为NULL,而不是将ty赋值为NuLL,修改赋值运算符为相等运算符。
(3)主要考查动态分配内存的释放,动态分配的内存在释放时,new分配的内存需要使用delete释放,而new[]分配的内存需要使用delete[]。
转载请注明原文地址:https://www.kaotiyun.com/show/kdNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在进行了任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态,其中用于是否进行了非法操作的函数名是()。
有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){}virtualvoidwho()
若有以下程序:#include<iostream>usingnamespacestd;classA{private:intx;protected:inty;pu
下列叙述中,正确的是()。
下列叙述中正确的是______.
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
下面的说明中,正确的函数定义是()。
下列哪个是C++语言的有效标识符?
执行语句序列charstrl[10]="ABCD",str2[10]="XYZxyz";for(inti=0;strl[i]=str2[i];i++)后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。
随机试题
大剂量静脉注射肾上腺素和去甲肾上腺素出现的不同效应主要是
A.大出血B.中度缺水C.纠正贫血和低蛋白血症D.严重感染E.凝血异常
某地人口为400万,过去几年每年发生流感患者140例,而某年的发病率为13/10万,超过当地50年的流行水平,并迅速蔓延到附近的省市,这种情况称为
甲乙共谋教训其共同的仇人丙。由于乙对丙有夺妻之恨,暗藏杀丙之心,但未将此意告诉甲。某日,甲、乙二人共同去丙处。为确保万无一失,甲、乙以入室盗窃为由邀请不知情的丁在楼下望风。进入丙的房间后,甲、乙同时对丙拳打脚踢,致丙受伤死亡。甲、乙二人旋即逃离现场。在逃离
图4-90所示单摆由长l的摆杆与摆锤A组成,其运动规律φ=φ0sinωt。锤A在秒的速度、切向加速度与法向加速度的大小分别为()。
某工程采用合作体承包模式,当合作体中的某一家公司倒闭时,则()。
盾构法最适合于在()中建造隧道。
按照《建筑工程建筑面积计算规范》的规定,封闭式阳台()计算建筑面积。
下列关于期货交易所、期货公司和客户穿仓损失责任承担的表述,正确的是()。[2014年11月真题]
【S1】【S5】
最新回复
(
0
)