首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
admin
2016-06-12
75
问题
请使用“答题”菜单或使用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://kaotiyun.com/show/tYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列语句不能够用于打开C根目录下文件test.txt的语句是
以下叙述中不正确的是()。
下列关于单目运算符++、--的叙述中,正确的是()。
对于重载的运算符>>,它是一个
若变量已正确定义并赋值,以下符合C++语言语法的表达式是
假定MyClass为一个类,那么下列的函数说明中,()为该类的析构函数。
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中,错误的是()。
在C++语言中,函数形参的默认存储类型是()。
源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标识符、注解和()。
c++流中重载了运算符<<,它是一个
随机试题
A.沙丁胺醇吸入剂B.异丙托溴胺吸入剂C.布地奈德吸入剂D.茶碱缓释片E.孟鲁斯特片剂轻度持续性哮喘缓解期首选的控制药物是
在我国,第一家开发VCD技术的是万燕公司。在万燕财力不雄厚时,花费巨额资金开发和培育市场。而当技术成熟,市场形成时,万燕已如强弩之末;没有充分的实力占据VCD市场,相反,后来者居上。而“微软”在推出新产品“Windows98”时颇为慎重,尽管推迟上市的消息
下列各项中,不能作为法律关系客体的是()。
求助者的主要问题不一定是()的问题。
A.forgrantedB.accountsC.enablesA.itonly【T1】______peopletoproduceB.healsotookit【T2】______C.it【T3】______
图示方法是几何学课程的一种常用方法。这种方法使得这门课比较容易学,因为学生们得到了对几何概念的直观理解,这有助于培养他们处理抽象运算符号的能力。对代数概念进行图解相信会有同样的教学效果,虽然对数学的深刻理解从本质上说是抽象的而非想象的。上述议论最不可能支持
Itwasthedistrictsportsmeeting.Myfootstillhadn’thealed(痊愈)froma(n)【C1】______injury.Ihad【C2】______whetherornotIs
TheLewisandClarkexpedition______theterritoryoftheLouisianaPurchaseandbeyondasfarasthePacificOcean.
Humansareuniqueintheextenttowhichtheycanreflectonthemselvesandothers.Humansareableto【C1】______,tothinkin
A、Turndownthevolumeofthemusic.B、Turnthemusicoff.C、Playadifferentstyleofmusic.D、Listentomusicinadifferentr
最新回复
(
0
)