首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接使用VC6打开考生文件夹下的工程pmj1,其中有“MP3播放器”类MP3Player和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:
请使用菜单命令或直接使用VC6打开考生文件夹下的工程pmj1,其中有“MP3播放器”类MP3Player和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:
admin
2016-06-12
51
问题
请使用菜单命令或直接使用VC6打开考生文件夹下的工程pmj1,其中有“MP3播放器”类MP3Player和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:
天籁一1
黑色
注意:只能修改每个//ERROR*********found*********下的那一行:不要改动程序中的其他内容。
#include
#include
using namespace std;
class MP3 Player { //“MP3播放器”类
char*type; //型号
char* color; //颜色
public:
//ERROR*********found*********
MP3 Player(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*********
i f(color)delete color;
}
const char*getType()const{re—
turn type;}
const char*getColor()const{re—
turn color;)
},
int main(){
MP3Player myplayer(“天籁-1”,“黑色”);
cout<
end1;
cout<
end1;
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;
解析
本题考查MP3Player类,其中涉及构造函数的参数默认值、相等运算符与赋值运算符的区别、动态分配内存的释放。
【解题思路】
(1)主要考查考生对函数参数的默认值的掌握,C++中的函数可以提供默认实参,如果一个形参具有默认实参,那么它之后的所有形参都必须有默认实参,题目中ty提供了默认实参,所以co也必须提供默认实参,或者将ty的默认实参去掉。
(2)主要考查考生对相等运算符与赋值运算符区别的掌握,题意是判断指针ty是否为NULL,而不是将ty赋值为NULL,修改赋值运算符为相等运算符。
(3)主要考查动态分配内存的释放,动态分配的内存在释放时,new分配的内存需要使用delete释放,而new[]分配的内存需要使用delete[]。
转载请注明原文地址:https://kaotiyun.com/show/niNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#include<iostream.h>voidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){
一个C++语言程序的开发步骤通常包括编辑、【】、链接、运行和调试。
对于下面的程序,说法正确的是 #include<iostream.h> voidmain() {intx=3,y=4,z=2; if(X=y+z)cout<<"x=y+Z"; elsecout<<"x!=y+Z";}
下面程序段的运行结果是 #include<iostream.h> voidmain() {char*s="abcde"; S+=2; cout<<&s;}
以下程序的输出结果是 #include<iostream.h> voidmain() {inta=21,b=11; cout<<--a+b;}
以下程序运行后的输出结果是【】。#include<iostream>#include<string>usingnamespacestd;classY;classX{intx;
若有函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b,)));那么在此函数调用语句中实参的个数是()。
假设fin是一个文件流对象,则关闭文件的语句是【】。
请定义一个函数名为A,返回值为int,没有参数的纯虚函数的定义是【】。
随机试题
MyWorstTravelExperienceLastyearmyparentsdecidedtotakemetoacowboyranch(牧场)forourvacation.Iwashappyand【W
女性,47岁,胆囊结石病史4年,曾先后发作性胆绞痛4次,BUS显示胆囊内充满型结石。首选的治疗方法是下列哪一种
患者男,40岁。主要表现为长期发热、持续全身淋巴结肿大,伴慢性腹泻,体重明显下降。实验室检查:HIV抗体初筛呈阳性反应。将血液标本送HIV确认实验室确认。HIV抗体确证试验结果的判定不正确的是
生物体内“通用能量货币”是指()
A.知柏地黄丸 B.参苓白术散 C.泻心导赤散 D.黄连解毒汤 E.清热泻脾散治疗鹅口疮之虚火上炎证,首选的是
我国国民经济和社会发展规划按行政层级可分为()。
证券组合管理的特点主要表现在()。
有四条直线,可以组成“王”或“口”等,也可组成长方形、棱形等图形,结合实际,谈谈你的理解。
秘匿权(辽宁大学2006年研)
Aleadingbiologisthascomparedthephysiology(生理学)offlightedspecieswiththerepresentationsofspiritualandmythicalcreat
最新回复
(
0
)