首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-12-21
58
问题
打开考生文件夹下的解决方案文件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://www.kaotiyun.com/show/7Zyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序的执行结果为:12345432112343211
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在注释∥*
设有如下关系表:则下列操作正确的是()。
类MyClass的定义如下,若要对value赋值,则下面语句正确的是()。classMyClass{public:MyClass0{}MyClass(inti){value=newint(i)
数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和()。
在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
数据库管理系统(DBMS)是一种
设某棵树的度为3,其中度为3、1、0的结点个数分别为3、4、15。则该树中总结点数为
下列选项中不符合良好程序设计风格的是
随机试题
有一个可以存放n件产品的缓冲,今有m个生产者,每个生产者每次生产一件物品放入缓冲器中;还有k个消费者,每个消费者每次可从缓冲器中取出一件物品去消费;不允许有两个或两个以上的生产者(或消费者)同时去存物品(或取物品),但允许有一个生产者(或消费者)在存物品(
托马斯公理
一新生儿患Rh溶血病,以下哪种情况不会出现
引发疮疡的最常见外邪是
钢衬板组合楼板的自重轻,可以建造的高度更高。()
上例的货物进口的转关方式是()。该转关货物应在电子数据申报之日起()内向进境地海关申报。
企业为了满足经营业务活动的正常波动所形成的支付需要而产生的筹资动机是()。
开展秘书协调工作时,可以利用的方式包括()。
()对于灵感相当于工作对于()
Foreachblank,choosethebestanswerfromthefourchoicesandwritedownontheanswersheet.Whenwejusthadtextonscr
最新回复
(
0
)