首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2019-05-22
19
问题
请使用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全国计算机二级
相关试题推荐
22,19,13,6,24,38,43,32根据快速排序的定义,取第一个元素24为依据,将小于24的置于其前面,大于24的置于其后面,则可得到快速排序第一趟的结果。
A、 B、 C、 D、 D因题目中定义的指针value是指向变量i的,所以直接利用语句MyClass(inti){valuei,newint(i);}对value进行赋值即可。
break此题考查的是流程控制语句。“只在循环语句或switch语句中使用”的流程控制语句只有break。
A、 B、 C、 D、 D面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问题。其特点包括:分类性、多态性、封装性、模块独立性、继承和多态性等。模块
执行下列语句后,变量n的值是______。intn=0;for(inti=1;i<=3;i++)for(intj=1;j<<=i;j++)n++;
黑盒测试是否能够发现错误取决于测试实例的设计。动态测试的设计测试实例方法一般有两类:黑盒测试方法和白盒测试方法。
下面程序对一维坐标点类Point进行了运算符重载:#include<iostream>usingnamespacestd;classPoint{public:Point(intval){x=val
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是()。A)fstreamB)istrearaC)ostreamD)iomanip
以下不是结构化程序设计方法的技术是()。
随机试题
患者,年轻男性,近年来反复咳嗽伴有脓痰,有时痰中带血,无吸烟史及其他不良嗜好。查体:双下肺呼吸音增粗,痰检未见杆菌。下列哪项检查最有助于诊断
下列不属于慢性肾功能不全恶化的常见诱因是
男,20岁。发热2周,体温38~39℃,检查皮肤散在紫癜,颈部及腋下可触及0.5cm×1.5cm大小淋巴结5~6个,脾肋下3em,血红蛋白85g/L,白细胞10×l09/L,血小板25×109/L。此患者在治疗3周后,出现高热、头痛、呕吐、Kernig
根据我国国家赔偿制度的规定,行政机关在承担赔偿责任后,可以行使追偿权,但是追偿权的行使必须具备一定的条件。关于追偿权的条件,下列说法中哪些是正确的?
某乡农民张某突然死在家里,死因不明,其有妻子、儿女和父母,如果需要进行尸体解剖才能确定死因时,则公安机关如何处理?
对于采用竞争性谈判、单一来源采购、询价等非招标采购方式的项目,在成交供应商确定()个工作日内应当发布成交结果公告。
根据所提供的线索,给本节课设计教学目标、教学重难点,并写出板书。课题:纸卷魔术年级:四年级教科书:小学美术课本教学时间:1课时
关于睡眠障碍的描述正确的是()。
(2009年下半年)一些公司为了满足公司员工社会交往的需要会经常组织一些聚会和社会活动,还为没有住房的员工提供住处。这种激励员工的理论属于(41)。
A、Tohelpstudentsfocusonstudying.B、Torelievestudentsfromexampressure.C、Togatherstudentstoanalyzestress.D、Tosha
最新回复
(
0
)