首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程pmjl,此工程中包含了类Pets(“宠物”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:
admin
2019-05-22
14
问题
请使用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://jikaoti.com/ti/UrA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函薮调用格式,该表达式还可表示为()。
结构化分析方法是面向()的自顶向下逐步求精进行需求分析的方法。
以下关于顺序存储结构的叙述中,()是正确的。
在软件开发过程中,需求分析阶段产生的主要文档是
结构化程序设计的基本原则不包括
A、 B、 C、 D、 C在建立派生类的时候,并不是简单地把基类的私有成员直接作为派生类的私有成员,把基类的公用成员直接作为派生类的公用成员。涉及如何确定基类的成员在派生类中的访问属性问题,不仅要考虑对基类成
友元函数此题考查的是非成员函数对类的成员的访问权限,非成员函数只有在声明为类的友元函数才能访问这个类的所有private成员,否则是不能访问类的私有成员的。
Jackson方法是一种面向___________的结构化方法。
A、 B、 C、 D、 C类指针可以指向派生类对象,但是只能访问基类的数据成员和成员函数。f()作为虚函数,在派生类中被重新定义,可以通过基类指针或者引用来访问基类和派生类中的同名函数。
A、 B、 C、 D、 DDBA(数据库管理员)的主要工作可以概括为3种:①数据库设计;②数据库维护;③改善系统性能,提高系统效率。
随机试题
在区域一体化的形式中,成员国之间需要相互协调货币政策和财政政策的区域经济一体化形式是()
关于脉络膜,描述正确的是
有效焦点在摄影时增涨的变化规律为
建筑施工企业职工常见的职业危害有矽肺、锰中毒、苯中毒等。()
为了使录音室的混响时间满足要求并且声音扩散均匀,通常采用()措施进行处理。
简述幼儿园课程评价的原则。
代币管理制就是用某种东西或标记来替代实物或权利,当期望行为出现时即给予一定数量的“标记”加以强化,期望行为坚持一段时间后再将“标记”按事前编制的激励系统转换成物质奖励。根据上述定义,下列选项不属于代币管理制的是()。
America’smostpopularnewspaperwebsitetodayannouncedthattheeraoffreeonlinejournalismisdrawingtoaclose.TheNewY
______,heisreadytoacceptsuggestionsfromdifferentsources.
A、Womenfriends.B、Menneighbors.C、Husbandsandwives.D、Brothersandsisters.A细节推断题。研究表明,孤独感在朋友之间传播最快,邻居其次,在夫妻之间和兄弟姐妹之间比较弱;与男
最新回复
(
0
)