首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、IsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、IsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-04-10
30
问题
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、IsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述定义。
此程序的正确输出结果应为:
*
***
*****
*******
*********
***********
******
******
******
******
******
******
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动“//*****found*****”。
#include<iostream>
#include<iomanip>
using namespace std;
class Graphics//图形类
{
public:
Graphics(int e):edges(e){}
//*******found*******
_____________
protected:
int edges;
};
class IsocelesTriangles:public Graphics//等腰三角形类
{
public:
IsocelesTriangles(int x): Graphics(x){}
void Draw();
};
void IsocelesTriangles::Draw()
{
int i,j;
if(edges<=0)
cout<<"errors"<<end;
if(edges>0)
{
for(i=0;i<edges;i++)
{
for(j=0;j<edges—i;j++)
cout<<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<<"errors"<<endl;
if(edges>0)
{
for(i=0;i<edges;i++)
{
//*****found*****
for(j=0;____________;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+1 (3)class Parallelogram:public Graphics (4)j<edges—i一1
解析
题意中,Graphics是基类,IsocelesTriangles和Parallelogram是Graphics的派生类。main函数中定义成员Graphics指针类型的数组objs,它包含两个元素,分别是IsocelesTriangles和Parallelogram对象的地址,所以在for循环中,通过Graphics指针调用虚函数Draw。
(1)由于程序中没有给出Graphics的成员函数Draw的定义,所以需要定义为纯虚函数。
(2)根据输出可知,等腰三角形的Draw中,每行先输出空格,后输出*,每行的空格数量为edges—i,*号的数量为行号的2倍加1,即2*i+1。
(3)平行四边形和等腰三角形一样,公有继承于Graphics。
(4)从题意输出可知,平行四边形的Draw函数也是先输出空格,后输出*,其中每行前导空格的数量分别为5,4,3,2,1,0,*的数量为edges个,所以程序填空为:j<edges—i一1
转载请注明原文地址:https://kaotiyun.com/show/Xu8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;voidfun(int&x,inty){Y=y+x;x=y/4;X++:}111tmaim):
下列关于输入输出流的叙述中,正确的是
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。
用树形结构来表示实体之间联系的模型称为()。
operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为______ 的。
A、 B、 C、 D、 C树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为0。
关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
下列语句错误的是()。
假定其中的x的单位是角度且不考虑π值的精度,则与数学公式等价的C++语言表达式是
设一棵完全二叉树共有700个结点,则在该二叉树中有【】个叶子结点。
随机试题
为了防止停工时物料积存在管内,管道设计时一般应有1/100~5/1000的坡度。()
A、清金化痰汤B、千金苇茎汤C、加减泻白散D、定喘汤E、加味桔梗汤治疗咳逆阵作,面赤咽干口苦,每随情绪波动而增减者,应首选
A.心脾B.肝肺C.脾肾D.心肾E.肝肾“乙癸同源"的“乙癸”所指的脏是()
甲公司开发出一项发动机关键部件的技术,大大减少了汽车尾气排放。乙公司与甲公司签订书面合同受让该技术的专利申请权后不久,将该技术方案向国家知识产权局同时申请了发明专利和实用新型专利。下列哪一说法是正确的?(2011年卷三第17题)
指定分包商是指()。
按照人类行为的起源划分,行为可分为()。
A、 B、 C、 D、 C
近年来,国内各地景区门票逢“节”必涨,5A级景区集体跨人“百元时代”,让众多游客纷纷大呼“玩不起”。根据2013年10月1日起施行的《旅游法》规定,景区提高门票价格应该提前()公布。
Visitor:Thankyouverymuchformeetingmeattheairport.Host:Mypleasure.______
Dr.WilsonandMr.Wanghaveknowneachotherbefore.
最新回复
(
0
)