首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此丁程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此丁程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
admin
2016-08-19
19
问题
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此丁程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述定义。例如,当输入数值3时,程序分别输出边长为3的菱形和正方形,即此程序的正确输出结果应为:
*
***
****
***
*
***
***
***
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不能删除或移动”//**********found**********”。
1 #include
2 {}include
3 using namespace std;
4 class Graphics //图形类
5 {
6 public:
7 Graphics(int e):edges(e)(}
8 //**********found**********
9 ______;
10 protected:
11 int edges;
12 };
13 class Squares:public Graphics//正方形类
14 {
15 public:
16 Squares(int x):Graphics(x){)
17 void Draw();
18 };
19 void Squares::Draw()
20 {
21 int i,j;
22 if(edges<=0)
23 cout<<"errors"<
24 if(edges>0)
25 {
26 for(i=0;i
27 f
28 for(j=0;J
29 cout<
30 cout<
31 }
32 }
33 }
34 //**********found**********
35 ______ //菱形类
36 {
37 publiC:
38 Diamonds(int x):Graphics(x){}
39 void Draw();
40 };
41 void Diamonds::Draw()
42 {
43 int i,j;
44 if(edges<=0)
45 cout<<"errors"<
46 if(edges>0)
47 {
48 for(i=0;i
49 {
50 cout<
51 //**********found**********
52 _______
53 cout<<’*’;
54 cout<
55 }//**********found**********
51 //输出菱形的下半部分
52
53 {
54 cout<
55 for(j=0;j<=2*(i-1);j++)
56 cout<<’*’;
57 cout<
58 }
59 }
60 }
61 int main()
62 {
63 int e;
64 cout<<"请输入表示边长的整数:";
65 cin>>e;
66 Graphics*objs[2];
67 objs[0]=new Diamonds(e);
68 objs[1]=new Squares(e);
69 for(int i=0;i<2 ; i++)
70 objs
->Draw();
71 delete objs[0];
72 delete objs[1];
73 return 0;
74 }
选项
答案
(1)virtual void Draw()=0 (2)class Diamonds:public Graphics (3)for(j=0;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+l,因而可以很容易得出结果。
(4)菱形的下半部分是由5个*开始递减的,即从最大边递减,直到为0,可以得出答案。
转载请注明原文地址:https://kaotiyun.com/show/EZNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
采用面向对象技术开发的应用系统的特点是()。
关系数据库管理系统能实现的专门关系运算包括()。
已知某序列为{49,38,65,97,76,13,27},试采用该序列的第一个元素为枢轴进行快速排序,则经过一趟快速排序之后所得到的序列为:【】。
以随机访问方式读取文件中的数据通常使用istream的成员函数______。
以下叙述中正确的是
以下方法不属于结构化分析方法的是()。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
下列运算符中,在C++语言中不能重载的是
在最坏情况下,下列排序方法中时间复杂度最小的是
用树形结构来表示实体之间联系的模型称为
随机试题
男性,46岁,3年前呼吸道感染后出现咳嗽、胸闷,经过治疗后好转,此后每次于呼吸道感染后均会出现反复发作,听诊可闻及有哮鸣音,2天前再次发作。体检:呼吸28次/分,口唇轻度发绀,两肺叩诊过清音,可闻及哮鸣音,心率120次/分,律齐,最可能的诊断为
患者,女,35岁。CT示松果体区等高密度小结节影,增强扫描呈轻中度强化,诊断为
欲从大分子水溶性成分中除去小分子无机盐最好采用
建筑安装工程施工机具使用费包括()。
计算分半信度通常是在测验实施后()
企业在连续提取坏账准备的情况下,“坏账准备”科目在期末结账前如为贷方余额,其反映的内容是()。
根据以下资料,回答96-100题。请仔细观察下图,左侧Y轴表示各专业招聘人数与求职人数的总数,右侧Y轴表示各专业职位供需比。综合分析上图,下列说法正确的是()。
(1)在名称为Form1,标题为“图片”的窗体上添加1个名称为Image1的图像框,其高为2500,宽为2000。请通过属性窗口设置适当属性,将考生文件夹下的图片文件pic1.jpg插入图像框,并使图片自动适应图像框的大小(如图所示)。注意:存盘
Sometimes,people【C1】______yourlifeandyourealizethattheyarethere【C2】______somepurpose,to【C3】______youalesson,orto
HintsandTipstoSaveMoneyA)Spendless.Thisisnotoversimplifyingthebestwaytosavemoney!Itisessentialifyoua
最新回复
(
0
)