首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
打开考生文件夹下的解决方案文件proj2,此项目包含程序文件main.cpp,其中有类Graphics(“图形”)、lsocelesTriangles(“等腰三角形”)、Parallelogram(“平行四边形”)的定义和主函数main的定义。请在程序中的
admin
2020-12-21
31
问题
打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
以下程序的执行结果是()。#include#includevoidfun(intn){if(n!=0){fun(n-1);for(inti=l;i
下列关于this指针的叙述中,正确的是()。
在下列函数原型中,可以作为类AA构造函数的是
下列枚举类型的定义中,包含枚举值3的是
下列关于运算符重载的描述中,正确的是
下列有关抽象类和纯虚函数的叙述中,错误的是
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序; #include <iostream> using namespace std
以下关键字不能用来声明类的访问权限的是
关于关键字class和typename,下列表述中正确的是()。
将数据库的结构划分成多个层次,是为了提高数据库的逻辑独立性和
随机试题
Mortgage______hadriseninthelastyearbecausethenumberoflow-incomefamilieswasontheincrease.
卡托普利的主要作用机制为
洛美沙星结构式如下:对该药进行人体生物利用度研究,采用静脉注射与口服给药方式,给药剂量均为400mg,静脉给药和口服给药的AUC分别为40μg/ml.h和36μg/ml.h。洛美沙星是喹诺酮母核8位引入氟原子,构效分析,8位引入氟原子后,使洛美沙星
下列各组元素原子半径由小到大排序错误的是()。
人机系统主要可分机械化、半机械化控制的人机系统和全自动化控制的人机系统。在前者中,系统的安全性主要取决于()。
在义和团反帝爱国运动时期,中国人民以其不畏强暴、敢与敌人血战到底的英雄气概,打击和教训了帝国主义者,使它们不敢为所欲为地瓜分中国。这一点,即使帝国主义分子自己也是不能否认的。瓦德西向德皇威廉二世报告说:“吾人对于中国群众,不能视为已成衰弱或已失德性之人,彼
设X~U(0,1)且X与Y独立同分布,求ξ=的分布函数(U(0,1)表示区间(0,1)上的均匀分布)F(u).
数据仓库系统可看成由【】、数据仓库管理软件及数据库仓库应用工具组成。
一台Cisco路由器R1的第3模块第1端口通过DDN的E1专线与一台远程路由器R2的第4模块第2端口相连,在R1的端口上封装PPP协议。为R1和R2端口分配的IP地址分别为193.42.91.201/30和193.42.91.202/30。下列R2的端口配
(1)SoRogerChillingworth—adeformedoldfigure,withafacethathauntedmen’smemorieslongerthantheyliked—tookleaveofH
最新回复
(
0
)