首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Name:sonny
请打开考生文件夹下的解决方案文件proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: Name:sonny
admin
2019-04-24
51
问题
请打开考生文件夹下的解决方案文件proj1,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Name:sonny Type:dog
Name:John Type:dog
Name:Danny Type:cat
Name:John Type:dog
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include
using namespace std:
enum Pets type{dog,cat,bird,
fish);
class Pets{
private:
char*name;
Pets_type type;
public:
Pets(consdt char *name="
sonny",Pets type type=dog);
Pets&operator=(const Pets
&s);
~Pets();
void show()const;
};
Pets::PetS(const char *name,
Pets_ype type)
//构造函数
{
this -> namQ = new char
[strlen(name)+1];
strcpy(this->name,name);
//ERROR *********found*********
type=type ;
}
Pets::~Pets()//析构函数,释放
Flame所指向的字符串
{
//ERROR *********found*********
name=’/0’;
}
Pets& Pets::operator=(const
Pets&s)
{
if(&s==this)//确保不要向自身赋值
return*this;
delete[]name ;
name=new char[strlen(s.
name)+1];
//ERROR *********found*********
strcpy(this->name,name);
type=s.type ;
return*this ;
}
void Pets::show()const
{
cout<<“Name: "<
Type:”;
switch(type)
{
case dog:cout<<"dog";break;
case cat:cout<<"cat";break;
case bird:cout<<"bird";break;
case fish:cout<<"fish";break;
}
cout<
}
int main()
{
Pets mypetl,mypet2("John",dog);
Pets youpet("Danny",cat);
mypet1.show();
mypet2.show();
youpet.show();
youpet=mypet2;
youpet.show();
return 0;
}
选项
答案
(1)this->type=type; (2)delete[]name; (3)strepy(this->name,s.name);
解析
(1)主要考查考生对构造函数的掌握情况,因为形参名和类的私有成员名称都是type,为了避免混淆,所以规定类的私有成员使用this指针调用,即:this->type=type:。
(2)主要考查考生对析构函数的掌握情况,题目中要求,释放name所指向的字符串。要释放name指针用delete语句,即delete[]name;。
(3)主要考查考生对strcpy函数的掌握情况,strepy函数的形参为两个字符串,而name为指向字符串的指针,因此吏用语句:strcpy(this->name,s.name);。
转载请注明原文地址:https://www.kaotiyun.com/show/FOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下递归函数:intFun(intn){if(n<=1)return1;______请补充完整,使得函数Fun能够正确计算形参n的阶乘。
下列关于派生类构造函数和析构函数的说法中,错误的是()。
下列有关函数重载的叙述中,错误的是()
不改变关系表中的属性个数但能减少元组个数的是______。
有如下程序:#include<iostream.h>usingnamespacestd;classTestClass{public:TestClass(){cout<<"defaultconstru
不能作为函数重载的判断依据的是()。
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为()
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval)://①~Sample();//②private:int
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是
有如下定义:classMA{intvalue;public:MA(intn=0):value(n){}};MA*ta,tb;其中MA类的对象名标识符是_____
随机试题
控制目标移置是指人们对控制的反应往往是想要确认控制中的检测过程及其测量记录是有效的,当他们的行为达到了这个结果,而控制所要达到的目标或目的却没有达到。根据以上定义,下列不属于该定义范畴行为的是()。
患者,女,42岁。因四肢关节及肌肉疼痛半年入院。既往体健。提示:四肢大小关节轻度压痛,肌力基本正常,无皮疹,皮肤无增厚。为明确诊断最先需要做的检查有1.ANA2.SF3.血清补体4.肌电图5.HLA-DR6.免疫固定电泳
某猪场猪咳嗽气喘,剖检在肺脏尖叶、心叶前下部见呈岛屿状灰红色或灰白色病灶,切面上病灶粗糙,稍微突出,质地较硬,颜色质地似胰脏,挤压时,即从小支气管中流出一些黏液渗出物;镜检支气管中有浆液性渗出物,并混有较多的中性粒细胞和脱落的上皮细胞,周围的肺泡腔中充满浆
A.林可霉素类B.酰胺醇类(氯霉素)C.四环素类D.氨基糖苷类E.氟喹诺酮类可抑制骨髓造血功能,或引起“灰婴综合征”,新生儿禁用的抗菌药物是()
足月顺产女婴,产后8周,母乳喂养,乳汁充足,产妇要求对计划生育进行指导,该产妇适宜的避孕方法为
有两种理想气体,第一种的压强记作P1,体积记作V1,温度记作T1,总质量记作m1,摩尔质量记作M1;第二种的压强记作P2,体积记作V2,温度记作T2,总质量记作m2,摩尔质量记作M2。当P1=P2,V1=V2,T1=T2时,则M1/M2为( )。
借款人变更还款方式,()条件是不需要满足的。
出版物生产过程中的精神劳动,不包括()等。
计算
Thelocaltheaterhasitsspecialwaysofdrawingcrowds.UnliketheBroadwayperformancesthat(1)______totheelitestratum,d
最新回复
(
0
)