首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Na
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Na
admin
2015-06-27
43
问题
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Name:sonnyType:dog
Name:johnType:dog
Name:DannyType:cat
Name:johnType:dog
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include
usingnamespacestd;
enumPetstype{dog,cat,bird,fish};
classPets{
private:
char*name;
Pets_typetype;
public:
Pets(constchar*name="sonny",
Pets_typetype=dog);
Pets&operator=(constPets&s);
~Pets();
voidshow()const;
};
Pets::Pets(constchar*name,Pets
typetype)
//构造函数
{
this->name=newchar[strlen
(name)+1];
strcpy(this->name,name);
//ERROR*********found*********
type=type;
}
Pets::~Pets()//析构函数,释放name
所指向的字符串
{
//ERROR*********found*********
name=’/0’;
}
Pets&Pets::operator=(constPets&s)
{
if(&s=this)//确保不要向自身赋值
return*this;
delete[]name,
name=newchar[strlen(s.name)+1];
//ERROR*********found*********
strcpy(this->name,name);
type=s.type;
return*this;
}
voidPets::show()const
{
cout<<"Name:"<
switch(type)
{
casedog:cout<<"dog";break;
casecat:cout<<"cat";break;
casebird:cout<<"bird";break;
casefish:cout<<"fish";break;
}
cout<
}
intmain()
{
Petsmypet1,mypet2("john",dog);
Petsyoupet("Danny",cat);
mypet1.show();
mypet2.show();
youpet.show();
youpet=mypet2;
youpet.show();
return0;
}
选项
答案
(1)this->type=type; (2)delete[]name; (3)strcpy(this->name,s.name);
解析
(1)主要考查考生对构造函数的掌握情况,因为形参名和类的私有成员名称都是type,为了避免混淆,所以规定类的私有成员使用this指针调用,即:this->type=type;。
(2)主要考查考生对析构函数的掌握情况,题目中要求,释放name所指向的字符串。要释放name指针用delete语句,即delete[]name;。
(3)主要考查考生对strcpy函数的掌握情况,strcpy函数的形参为两个字符串,而name为指向字符串的指针,因此使用语句:strcpy(this->name,s.name);。
转载请注明原文地址:https://kaotiyun.com/show/URNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在下面程序中,编译出现错误的语句是______。classB{public:B(){f();}virtualvoidf()=0;};
在数据库系统中,把具有以下特征中之______两个特征的数据模型称为网状模型。
下列程序的输出结果为:Objectid=0Objectid=1请将程序补充完整。#include<iostream>usingnamespacestd;classPoint{public
对象实现了数据和操作的结合,使数据和操作______于对象的统一体中
以下程序的输出结果是【】。#include<iostream.h>intadd(intx,inty){retumX+y;}dOubleadd(dOUblex,doubley){
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【】的。
下面的类中定义了一个枚举类型,请完成下面的程序。classBase{public:enumWeek{Sum,Mon,Tue,Wed,Thu,Fri,Sat};Weeka;}
下列运算符不能用友元函数重载的是()。
关于关键字class和typename,下列表述正确的是()。
数据独立性是数据库技术的重要特点之一。所谓数据独立性是指
随机试题
患者,男,43岁。近两年腰膝酸软,盗汗自汗,精神疲乏,四肢无力,怕冷怕热,有两三年时间病史,总,最近感觉盗汗自汗更为严重了,并且感觉怕冷怕热,尤其怕吹空调。医生诊断是由肾阴虚的引口服六味地黄。六味地黄丸由熟地黄、山茱萸、山药、泽泻、丹皮、茯苓这
13.我国《宪法》第26条第1款规定:“国家保护和改善生活环境和生态环境,防治污染和其他公害。”下列哪一选项是正确的?()(2007年司考,卷一,第2题)
某承包企业承包一工程,计划砌砖工程量1200m3,按预算定额规定,每立方米耗用空心砖510块,每块空心砖计划价格为0.12元,而实际砌砖工程量却达1500m3,每立方米实耗空心砖500块,每块空心砖实际购入价为0.18元,则下列对成本分析有误的是(
车床工作精度检验项目的名称是精车外圆的圆度、圆柱度,精车螺纹的螺距误差和精车端面的()。
某市大型商贸公司为增值税一般纳税人,兼营商品加工、批发、零售和进出口业务,2015年12月相关经营业务如下:(1)进口化妆品一批,支付国外的买价220万元、购货佣金6万元、国外的经纪费4万元;支付运抵我国海关地前的运输费用20万元、装卸费用和保险费用
某会展中心布置会场,从花卉市场购买郁金香、月季花、牡丹花三种花卉各20盆,每盆均用纸箱打包好装车运送至会展中心,再由工人搬运至布展区。问至少要搬出多少盆花卉才能保证搬出的鲜花中一定有郁金香:
个人加强道德修养,应结合当今社会发展的需要和当代人道德修养的实践经验,身体力行。通过虚心学习,善于思索,辨别善恶,学善戒恶,以涵养良好的德行,这一方法属于()
设f(x)在[1,+∞)上有连续的二阶导数,f(1)=0,fˊ(1)=1,且二元函数z=(x2+y2)f(x2+y2)满足,求f(x)在[1,+∞)的最大值
考虑系统开发战略化策略的根本出发点是哪些?Ⅰ.是企业的重大建设项目Ⅱ.应是一项技术和社会性工程Ⅲ.应涉及到企业高级管理人员、业务技术管理人员、计算机技术员及用户Ⅳ.应涉及多学科技术Ⅴ.强调投资后的经济效益和社会效益
Whatisthemostimportantaspectofamanager’sjob?AccordingtotheSaratogaInstitutereports,whichfactorisNOTthemajor
最新回复
(
0
)