首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-12-21
48
问题
打开考生文件夹下的解决方案文件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打开考生文件夹下的源程序文件modil.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:m=一10n=一10p=0q=—10z=A注意:错误的语句在∥********
在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承private。己知有如下类定义:classTestClass{protected:voidfun(){}};classTestCl
若要把函数voidfun0定义为TestClass的友元函数,则应该在类TestClass的定义中加入的语句是()。
下列选项中,不属于数据库管理的是()。
在下列关键字中,不能用来表示继承方式的是
下列有关模板的叙述中,正确的是
已知类MyClass声明如下:classMyClass{intn;public:MyClass(intk):n(k){}intgetValue()const{returnn;}};在下列数组定义中正确的是
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include<iostream>using namespace std;class Base{ int a,b;public
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
下列说法中错误的是()。
随机试题
患儿女,5岁。尿频、尿急、尿痛5天,体温39.5℃,左肾区有叩击痛,尿常规蛋白(++),白细胞满视野,红细胞5~10个/HP。此时抗生素治疗方案应是
首次提出“组织理论”这一学科名称的是()
在某声音的数字化过程中,使用50kHz的取样频率、16位量化位数,则采集四声道的此声音一分钟所需要的存储空间约为_________。
Bionator功能矫治器的基托覆盖上颌的
下列属于海关对报关单位的现行管理规定的行为的有( )。
设备大修和重点修理后的验收标准是()。(T指精度指数。)
采取差别化战略的途径有()。
李老师能力强,威信高,善于与学生交流,经常倾听学生对于开展教学的意见,班上的学生学习积极性很高,兴趣广泛,和老师配合默契,这种师生关系属于()。
关于考古学中的文明标准的表述中,正确的一项是下列哪项不是文明标准
条件充分性判断:A.条件(1)充分,但条件(2)不充分B.条件(2)充分,但条件(1)不充分C.条件(1)和(2)单独都不充分,但条件(1)和(2)联合起来充分D.条件(1)充分,条件(2)也充分E.条件(1)和(2)单独都不充分,条件(1)和(
最新回复
(
0
)