首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-12-21
47
问题
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述定义。
此程序的正确输出结果应为:
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“//*******
found*******”。
#include
#include
using namespace std;
class Graphics//图形类
{
public:
Graphics(int e):edges(e){}
//*******found*******
protected:
int edges;
};
elasS IsocelesTriangles:public Graphics//等腰三角形类
{
public:
IsocelesTriangles(int x):Graphics(x){}
void Draw();
};
void lsocelesTrimlgles::Draw()
int i,j;
if(edges<=0)
cout<<“errors”<<endl;
if(edges>0)
{
for(i=0;i<edges;i++)
{
for(j=0;j<edges-i;j++)
tout<<setw(2)<<’’;
//*****found*****
for(j=0; ________;j++)//输出每行的*号
cout<<setw(2)<<‘*’;
cout<<endl;
}
}
cout<<endl;
}
//*********found*********
________//平行四边形类
{
public:
Parallelogram(int x):Graphics(x){}
void Draw();
};
void Parallelogram::Draw()
{
int i,j;
if(edges<=0)
cout<<“erros”<<endl;
if(edges>0)
}
for(i=0;i<edges;i++)
{
//*****found*****
for(j=O; ________;j++)//输出前导空格
cout<<setw(2)<<’’;
for(j=0;j<edges;j++)
cout<<setw(2)<<‘*’;
cout<<endl;
}
}
}
cout<<endl;
}
int main()
{
Graphics*objs[2];
objs [0]=new IsocelesTriangles(6);
objs[1]=new Parallelogram(6);
for(int i=0;i<2;i++)
objs
->Draw();
delete objs[0];
delete objs[1];
return 0;
}
选项
答案
(1)virtual void Draw()=0; (2)j<2*i+l (3)class Parallelogram:public Graphics
解析
题意中,Graphics是基类,lsoeelesTriangles和Parallelogram是Graphics的派生类。main函数中定义成员Graphics指针类犁的数组objs.它包含两个元素,分别是IsoeelesTriangles和Parallelogram对象的地址,所以在for循环中,通过Graphics指针调用虚函数Draw。(1)由于程序中没有给出Graphics的成员函数Draw的定义,所以需要定义为纯虚函数。(2)根据输出可知,等腰三角形的Draw中,每行先输出空格,后输出*,每行的空格数量为edges-i,*号的数量为行号的2倍加1,即2 * i+l。(3)平行四边形和等腰三角形一样,公有继承于Graphics。(4)从题意输出可知,平行四边形的Draw函数也是先输出空格,后输出*,其中每行前导空格的数量分别为5,4,3,2,1,0,*的数量为edges个。
转载请注明原文地址:https://kaotiyun.com/show/7Zyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数convert(char*strOct)的功能是将八进制转换为十进制。提示:要每一位转换,然后把转换后得到的数累加起来即可。注意:不
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数conven(char*des,char*str,charc,char*str2)的功能是:如果str中包含字符“!”,则替换成.一.a;
使用VC6打开考生文件夹下的源程序文件modil.cpp,请修改程序中的错误,使程序能得出正确的结果:num:0num:1num:10注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在∥****
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;cout
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
下列枚举类型的定义中,包含枚举值3的是
在C++中用来实现运行时多态性的是
下列关于基类和派生类关系的叙述中,正确的是
生成派生类对象时,派生类构造函数调用基类构造函数的条件是()。
在下面的4个关键字中用来说明虚函数的是()。
随机试题
女性,35岁,患甲状腺功能亢进症2个月,口服他巴唑30mg/d4周,高热、咽痛2天。查体:T40.3℃P120次/分,R22次/分,BPl20/70mmHg,咽充血,两肺呼吸音粗:心率120次/分,节律规整:腹(一)该患者应首先检查的项目是
新生儿Apgar评分的内容包括心率、呼吸、肌张力、喉反射和
如图所示,投影球的下极点F作为发射点将四个点进行赤平投影,其中哪个点能投影到赤平面上?
下列各项资产中,可以采用实地盘点法进行清查的有()。
企业通常运用各种现代化的控制方法进行战略控制。运用杜邦分析法旨在进行()。
下列不属于政府直接干预的内容有()。
甲公司2009年年初“利润分配——未分配利润”账户的余额在借方,数额为50万元;2009年实现净利润200万元,提取盈余公积20万元,分配利润50万元。则2009年年末时未分配利润的数额为()万元。
ItcanbelearntfromthetextthattherulingpartyinIndia______.Whatdoesthewriterwantstoillustratewith"aMuslima
Alltheanimalsareinvitedtoapartyinthewoods.Thestorytoldusthatnonecandoanythingverywell.
Writingbeinglargelyaself-taughtoccupation,textsonhowtogetaboutit—thoughgreatinnumber—seldomareofmuchuse.
最新回复
(
0
)