首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或直接使用VC6打开考生文件夹下的工程pmj1,其中有“MP3播放器”类MP3Player和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:
请使用菜单命令或直接使用VC6打开考生文件夹下的工程pmj1,其中有“MP3播放器”类MP3Player和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:
admin
2016-06-12
40
问题
请使用菜单命令或直接使用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://jikaoti.com/ti/bjE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列定义中p指向的地址可更改,但*p不能够更改的是
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;
若有以下程序:#include<iostream>usingnamespacestd;classSample{private:constintn;public:S
下列描述中,表达错误的是()。
下列关于对象概念的描述中,错误的是()。
若有函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b,)));那么在此函数调用语句中实参的个数是()。
要采用“cin,tout”进行输入输出时,必须包含的头文件是【】。
在重载运算符函数时,下面()。运算符必须重载为类成员函数形式。
下列运算符中哪些是不能够被重载的?
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
随机试题
传真机在使用前的准备工作是______、功能设定、选择清晰度和对比度。
A.CD3B.CD19C.CD16D.CD5E.CD4NK细胞表达的分子是
诊断心肌梗死,特异性最好的酶是
下面能用DSA检查的情况是
只适用于轻载连接的键是()。
2015年7月31日,将本月制造费甩折旧费30000元在A,B产品之间分配,其中A产品20000元,B产品10000元,请填制记账凭证。
社会发展和变革的先导是生产力的变革。()
科学家有时被描述成做出如下假设的人,即基于某些事情的假设直到被证明为真之前,这一假设并不是真的。现在,假设提出了食品添加剂是否安全的问题,在这个问题上,既不知道它是安全的,也不知道它是不安全的。基于这一特征,科学家会假设添加剂不是安全的,因为它没有被证明是
某服务器软件系统能够正确运行并得出计算结果,但存在“系统出错后不能在要求的时间内恢复到正常状态"和“对系统进行二次开发时总要超过半年的时间”两个问题,上述问题依次与质量属性中的()相关。
他的建议很实际,我们必须认真对待。
最新回复
(
0
)