首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此工程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
admin
2016-06-12
86
问题
请使用“答题”菜单或使用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全国计算机二级
相关试题推荐
设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--)k=i+j语句后,k的值为【】。
对于语句cout<<setfill(’*’)<<setw(10)<<1<<setfill(’*’)<<setw(2)<<2;的输出结果是
下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空完成此程序。#include<iostream>#include<string>usingnamespacestd;intmain
假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数首部形式为【】。
有以下程序:#include<iostream>#include<string>usingnamespacestd;classY;classX{private:intx;
下列各项中,属于面向对象程序设计语言不同于其他语言的主要特点的是()。
要采用“cin,tout”进行输入输出时,必须包含的头文件是【】。
以下能对二维数组a进行正确初始化的语句是
在重载运算符函数时,下面()。运算符必须重载为类成员函数形式。
下列运算符中哪些是不能够被重载的?
随机试题
造成近代中国贫困落后和一切灾难祸害的总根源,阻碍中国社会进步和发展的最大障碍是()
破坏性冲突不包括()
The"showbusiness"attractsmanyyoungpeople.【21】,onlyveryfewcanhopetobecome【22】Talent(才能)isnot【23】.Withoutagood
急性肾炎,严重循环充血的治疗措施,以下哪项不正确
《民法典》在胎儿继承权、个人信息保护、离婚冷静期制度、见义勇为行为的保护等方面,都给出了民事制度的“中国方案”,显示了以良法促进发展,保障善治。结合中国特色社会主义法治理论,下列哪一表述是错误的?()
施工平面布置图的设计原则有()。
消费税主要采取在( )环节计征。
根据下面的文字。回答下列问题。当下,最需要培育的好“种子”,首先是在脑子里,不能只把引进洋品种当作“与时俱进”,还自以为得了风气之先,忙不停地总结报告,而一谈起自身的种业发展,就大摆困难,畏首畏尾。要知道培育好种子,一定的物质条件固然重要,但越是有困难,
给定资料1.2013年8月19日,国家统计局中国经济景气监测中心和北京师范大学联合发布“2012中国绿色发展指数报告”,首次推出了各地区的“绿色体检表”等内容。38个参评城市中,绿色发展水平排名前十位的是:深圳、海口、克拉玛依、昆明、广州、北京、大连
关于关键字class和typename,下列表述中正确的是()。
最新回复
(
0
)