首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-12-21
51
问题
打开考生文件夹下的解决方案文件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打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能:(1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释∥********1******
若有以下定义,说法错误的是()。inta=100,*p=&a:
有如下头文件: int f1(); static int f2(); class MA{ public: int f3(); static int f4(); };在所描述的函数中,具有隐含的thi
关于C++语言与C语言关系描述中错误的是
已知有数组定义chara[3][4];下列表达式中错误的是
以下关键字不能用来声明类的访问权限的是
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)重载运算符int,请在注释//********1********后添加适当的语句。(2)重载运算符“
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示人基本信息的类CHumanlnfo,但类CHumanlnfo的定义并不完整。请按要求完成下列操作,将类CHumanlnfo的定义补充完成:(1)定义私有数据成员blood
使用VC6打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:151注意:错误的语句在//*****error******的下面,修改该语句即可。#include/
定义学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G)(其属性分别为学号、姓名、所在系、年龄、课程号和成绩);C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课)。关系模式SC的主键是
随机试题
简述左心衰竭和右心衰竭发生呼吸困难的主要原因有何区别。
作为一个腐蚀电池,它必须包括阴极、阳极、电解质溶液和()四个不可分割的部分。
龈上沽治术前应先含漱,最好用
下列不计提折旧的固定资产是()。
在运用分析性复核方法检查主营业务收入的完整性时,审计人员可以实施的程序有()。
在资金来源结构变化,尤其是市场利率变化的条件下,以资金平均成本作为新贷款定价的基础较为合适。()
建设工程项目管理的目标系统特征不包括()。
承运人、托运人、收货人对整箱货物的交接主要根据箱体的外表,并对箱内货物进行检查。因此,对重箱交接应当检查箱体、封志状况并核对箱号。()
在市场经济发展中,既有市场在资源配置中起决定性作用,又有国家的宏观调控,这是由()决定的。
分析“二战”后印度民族运动的特点和印巴分治的原因。
最新回复
(
0
)