首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
admin
2016-06-12
78
问题
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述定义。例如,当输入数值3时,程序分别输出边长为3的菱形和正方形,即此程序的正确输出结果应为:
*
***
*****
***
*
***
***
***
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动”//**********found**********
#inflnclude<10stream>
#include
using namespace std;
class Graphics//图形类
{
public:
Graphics(int e):edges(e){)
//**********found**********
——;
protected:
int edges;
};
class Squares:public Graphics//正方形类
{
public:
Squares(int x):Graphics(x){)
void Draw();
},
void Squares::Draw()
{
int i,j;
if(edges<=0)
cout<<“errors”<
if(edges>0)
{
for(i=0;i
{
for(j=0;j
cout<
cout<
}
}
}
//**********found**********
//菱形类
{
public:
Diamonds(int X):Graphics(x){)
void Draw();
};
void Diamonds::Draw()
{
int i,j;
if(edges<=0)
cout<<“errors”<
if(edges>0)
{
for(i=0;i
{
cout<
//**********found**********
cout<<‘*’;
cout<
}
//**********found**********
//输出菱形的下半部分
{
cout<
for(j=0;j<=2*(i一1);j++)
cout<<‘*’;
cout<
}
}
}
int main()
{
int e;
cout<<"请输入表示边长的整数:;
cin>>e;
Graphics*objs[2];
objS[0]=new Diamonds(e);
objS[1]=new Squares(e);
for(int i=0;i<2;i++’)
obJ S
一>Draw();
delete objS[0];
delete,jobjS[1],
return 0;
}
选项
答案
(1)virtual void Draw()=0 (2)class Diamonds:public Graphics (3)for(j=O;j<2,* i+1;j++) (4)for(i=edges;i>0;i一一)
解析
主要考查类的纯虚函数的使用,类的公有继承,以及简单图形的构造。
【解题思路】
(1)由于Graphic的子类都使用了Draw()成员函数,并且都有自己各自不同的实现,很容易发现类中成员多态的特性,类的多态是使用虚函数来实现的。
(2)Diamonds的成员函数Draw()中使用了edges。但是类Diamonds中没有该成员,而Graphic中有此成员,可知该类公有继承了Graphic。
(3)根据图形的变化可知第一行1个*,第二行3个*,第三行5个*,增长的规律是2*i+1,因而可以很容易得出结果。
(4)菱形的下半部分是由5个木开始递减的,即从最大边递减,直到为0,可以得出答案。
转载请注明原文地址:https://www.kaotiyun.com/show/tYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
软件开发环境是全面支持软件开发全过程的【】集合。
下面程序段的运行结果是 #include<iostream.h> voidmain() {char*s="abcde"; S+=2; cout<<&s;}
有以下程序:#include<iostream>usingnamespacestd;intmain(){inti=010,j=10;cout<<(++i)<<","<<i--<<end1
设树T的度为4,其中度为1,2,3,4的节点个数分别为4,2,1,1。则T中叶子节点数为()。
若有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;
若有以下程序:#include<iostream>usingnamespacestd;classBase{private:inta,b;public:Base(intx
在选择运算所得到的结果关系中,所含的元组数不合【】原关系中的元组数。
以下哪个不是C++语言中的有效标识符()。
随机试题
哪一项不是门脉高压症的临床表现
A.口服给药B.静脉注射C.直肠给药D.肌内注射E.透皮给药儿童在病情危重抢救时最常用的给药途径是()。
王某自1995年1月至2012年l0月一直在某安装工程公司工作,2012年10月公司提出解除劳动合同并与王某协商一致后解除劳动合同,王某离职前月工资8000元,所在城市上年度职工月平均工资2000元,该公司应向王某支付()元的经济补偿。
如果委办事项违法,代理人应()。
某初中生物老师在指导学生完成“探究种子萌发的环境条件”实验中采用合作学习的教学策略,在进行实验分组时,应遵循的原则是()。
能够为人的身心发展提供生理前提的因素是()。
中华人民共和国成立后,以毛泽东为主要代表的中央领导集体对中国社会主义建设道路作出了孜孜不倦的思考和探索,虽然经历严重曲折,但也取得了独创性理论成果和巨大成就。回顾毛泽东对中国社会主义建设道路的探索成果,对于在新的历史起点上高举中国特色社会主义伟大旗帜,坚持
设X为随机变量,E(|X|r)(r>0)存在,试证明:对任意ε>0有
下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。例如,若输入的数为:551234,输出的结果应当是:a=55.0,b=34.0,c=12.0。请改正程序中的错误,使
NosoonerhadIclosedthedoorthansomebodystartedknocking________it.
最新回复
(
0
)