首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此丁程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,此丁程包含程序文件main.cpp,其中有类Graphics(“图形”)、Squares(“正方形”)、Diamods(“菱形”)的定义和主函数main的定义。请在程序中的横线处填写
admin
2016-08-19
15
问题
请使用“答题”菜单或使用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全国计算机二级
相关试题推荐
下列关于getline()函数的描述中,不正确的是()。
下列关于goto语句的描述中,正确的是()。
带一个long类型参数的流成员函数______按参数值设置flags状态变量,并返回以前设置的标志值。
下列关于严格控制goto语句使用的理解中,错误的是()。
下列叙述中,正确的是()。
类模板不同于函数模板,类模板只可用【】型参数。
下面叙述正确的是______.
下列C++标点符号中表示一条预处理命令开始的是()。
若要打开二进制文件binfile写方式,输出到文件尾则应为:ofstreambfile("binfile",______);
下列C++标点符号中表示一条预处理命令开始的是()。
随机试题
患儿男性,9岁11个月,因多饮、多尿伴消瘦半个月,恶心、气促1天入院。查体:T36.5℃,R30次/min,P128次/min,BP110/70mmHg,体重26kg,神志清楚,精神弱,嗜睡呼吸深大。口唇樱红,咽无充血。双瞳孔等大等圆,对光反射灵敏。全
A.筛检B.诊断试验C.队列研究D.现况研究E.病例对照研究属于由因及果的研究是()
关于电场线的以下说法中,正确的是()。
某设备厂筹资新建一条生产流水线,该工程设计已完成,施工图纸齐备,施工现场已完成“三通一平”工作,已具备开工条件。在招标投标过程中,发生了下列事项。1.招标阶段工程施工招标委托招标代理机构采用公开招标方式代理招标。招标代理机构编制了标底(80
所有的生产型企业,本期发生的各项制造费用都应分配转入“生产成本”科目,“制造费用”科目期末应无余额。()
独家经销
宏德公司年终结账前有关损益类科目的年末余额如下:12月31日,现金清查中发现库存现金较账面余额多出1500元,无法查明原因,经批准可作相关账务处理;其他资料:(1)公司营业外支出中有1000元为非公益性捐赠;(2)经查公司该年超
将辛亥革命与戊戌变法相比,正确的表述是()。
抓好粮食生产,要坚持立足国内实现粮食()的方针。
Whatdoesthespeakermean?
最新回复
(
0
)