首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Na
请使用VC6或使用【答题】菜单打开考生文件夹pmj1下的工程proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Na
admin
2015-06-27
66
问题
请使用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://www.kaotiyun.com/show/URNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有关系R和S,关系代数运算R∩s等价于______。
逻辑表达式x>3&&x<10的相反表达式为【】。
下面程序的运行结果是______。#include<iostream.h>classA{publicvirtual、~(){cout<<”callA::~A()”<<end1;}};
以下程序段的输出结果是______。charch[3][5]={“xxxx”,“yy”,“zz”}:cout<<ch[1];
数据的四种基本逻辑结构是指______。
若有以下程序:#include<iostream>usingnamespacestd;classdata{public:intx;data(intx){da
C++流中重载的运算符“>>”是一个()。
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是【 】。
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
下列有关数据库的描述,正确的是
随机试题
电子商务中采用的主要安全技术有________。
引发读者持久的审美享受的是风格的_______。
A.卡波环B.RussellbodyC.AuerbodyD.杜勒小体E.May-Hegglin畸形急性早幼粒细胞白血病中可见
头后部疼痛,痛引项背者多为
《建设工程质量管理条例》规定:建设工程竣工验收结束后应由()向建设行政主管部门备案。
现有一宗占地面积为1000m2的城镇建设用地,使用者先以行政划拨方式取得,后于2002年11月1日通过补办出让手续取得该宗地50年期的土地使用权,同时建成一座总建筑面积为2500m2的办公楼,现全部用于出租。2007年11月1日进行的市场调查情况如
ABC公司正在考虑改变它的资本结构,有关资料如下:(1)公司目前债务的账面价值1000万元,利息率为5%,债务的市场价值与账面价值相同;普通股4000万股,每股价格1元,所有者权益账面金额4000万元(与市价相同);每年的息税前利润为500万元。该公司的
秘书不准向客人索要礼品,如对方主动赠送,应婉言谢绝,无法谢绝的()。
Hisfamewas______affectedbyanirresponsiblespeechhemadeinpublic.
______isnoreasonfordischargingher.
最新回复
(
0
)