首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2019-05-22
24
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
Name:sonny Type:dog
Name:John Type:dog
Name:Danny Type:eat
Name:John Type:dog
注意:只修改每个“//ERROR****found****”下的那一行,不要改动程序中的其他内容。
#include
using namespace st:d;
enllm Pets type{dog,cat,bird,fish};
class PetS{
private:
char*name;
Pets_type type;
public:
Pets(const char*flame=”sonny”,
Pets_type type=dog);
Pets&operator=(const Pets&s);
~Pets();
void show()const;
};
Pets::Pets(const char*name,Pets
type type)
//构造函数
{
this->name=new char[strlen
(name)+1];
strcpy(this一>name,name);
//ERROR*********found*********
type=type;
}
Pets::~Pets()//析构函数,释放name
所指向的字符串
{
//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:”<
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 mypet1,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[]nal/le; (3)strepy(this->nanle,s.name);
解析
(1)主要考查考生对构造函数的掌握情况,因为形参名和类的私有成员名称都是type,为了避免混淆,所以规定类的私有成员使用this指针调用,即:this一>type=type;。
(2)主要考查考生对析构函数的掌握情况,题目中要求,释放name所指向的字符串。要释放name指针用delete语句,即delete[]name;。
(3)主要考查考生对strepy函数的掌握情况,strcpy函数的形参为两个字符串,而name为指向字符串的指针,因此使用语句:strcpy(this一>nallle,s.name);.
转载请注明原文地址:https://kaotiyun.com/show/ab8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的执行结果是()。#include<iostream.h>#include<iomanip.h>voidfun(intn){if(n!=0){fun(n-1);for(in
执行下列语句段后,输出字符“*”的个数是for(inti=50;i>1;i-=2)tout<<’*’;
A、 B、 C、 D、 C因为staticvoidchange()为静态函数,静态函数主要访问静态数据,不访问非静态数据。所以函数中访问了数据y,所以下划线的数据类型应对应为static。
成员初始化列表c++语言规定对基类数据成员的初始化必须在派生类的构造函数中的成员初始化列表中进行。
A、 B、 C、 D、 B本题考查数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出
A、 B、 C、 D、 B叶子结点总是比度为2的结点多一个。所以,具有60个叶子结点的二叉树有59个度为2的结点。总结点数:60个叶子结点+59个度为2的结点+50个度为1的结点=169个结点。
A、 B、 C、 D、 D面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块
A、 B、 C、 D、 A数据库管理系统在数据库的三级模式之间提供了两层映像,保证了数据库中数据的较高的逻辑独立性和物理独立性。使系统具有较高的通道能力和提高存储空间的利用率是操作系统的职能,而不是数据库管理
针对数组定义intdata[10];,下列叙述中错误的是A)用*data可访问到数组的首元素B)用data[9]可访问到数组的末元素C)用data[10]访问数组元素会超出数组的边界D)data共有10个元素,其首元素是data[1]
随机试题
A.木防己汤B.济生肾气丸C.小青龙汤D.六味地黄丸E.桂枝茯苓丸与抗组胺药联用,可减少西药用量的是()。
A.Meigs综合征B.阿司匹林三联症C.Kartagener综合征D.Wegener肉芽肿E.Good-pasture综合征上呼吸道、肺、肾的肉芽肿
在发展规划咨询中,区域规划研究的规划基本条件应包括()。
1868年,俄国教育家乌申斯基出版了(),对当时的心理学发展成果进行了总结,乌申斯基因此被称为“俄罗斯教育心理学的奠基人”。
驾驶执照属于()。
2012年,某省加大扶持贫困残疾人力度,财政投入扶贫资金3816.3万元,比上年大幅增长18%,扶持贫困残疾人员56561人,脱贫35110人。享受优惠政策的贫困残疾人117727人,比上年增加3%。截至2012年底,城镇残疾人安排就业人数共22
Inadditiontoredistributingincomes,inflationmayaffectthetotalrealincomeandproductionofthecommunity.Anincreasei
"Yearsago,afriendofmineobservedthat80percentofthepeopleinthiscountryhavetoomuchself-esteemand20percenthav
我国社会主义建设中,判断各方面工作是非得失的标准,归根到底要看是否有利于()。
Weusedtocallthem"electronicbrains".Thatwasbackinthe1950’s,whennameslikeENIACandUnivacwereroom-sizedclunkers
最新回复
(
0
)