首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Tfian~e类和Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形(简称
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Tfian~e类和Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形(简称
admin
2019-05-29
77
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Tfian~e类和Rectangle类。
CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数Show用于显示不同字符图形的相同操作接口。TfanOe和Rectangle是CharShape的派生类,它们分别用于表示字符三角形和字符矩形,并且都定义了成员函数Show,用于实现各自的显示操作。程序的正确输出结果应为:
*
***
*****
*******
########
########
########
请阅读程序,分析输出结果,然后根据以下要求在横线处填写适当的代码并删除横线。
(1)将Triangle类的成员函数Show补充完整,使字符三角形的显示符合输出结果。
(2)将Rectangle类的成员函数Show补充完整,使字符矩形的显示符合输出结果。
(3)为类外函数fun添加合适的形参。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
{/proj2.cpp
#include
using namespace std;
class CharShape{
public:
CharShape(char ch):一ch(ch){};
virtual void Show()=0;
protected:
char ch;//组成图形的字符
};
class Triangle:public CharShape{
public:
Triangle(char ch,int r):Char—
Shape(ch),一rows(r){}
void Show();
private:
int rows;//行数
};
class Rectangle:public CharShape{
public:
Rectangle(char ch,int r,int C):
CharShape(ch),_rows(r),一cols(c){}
void Show();
private:
int rows,cols;//行数和列数
};
void Triangle::Show()
//输出字符组成的三角形
{
for(int i=1;i<= rows;i++){
//**********found**********
for(int J=1;J<=——;J++)
cout<< ch;
cout<
}
}
void Rectangle::Show()
//输出字符组成的矩形
{
//**********found**********
for(int i=1;i<=——;i+
+) {
//**********found**********
for(int j=1;j<=——;j ++)
cout<< ch;
cout<
)
}
//*********found*********为fun函数添
加形参
void fun(——){cs.Show();}
int main()
{
Triangle tri(‘*’,4);
Rectangle rect(‘#’,3,8);
fun(tri);
fun(rect);
return 0;
}
选项
答案
(1)i*2—1 (2)一rows (3)一cols (4)CharShape&cs
解析
本题主要考查抽象类CharShape类及其派生类Triangle和Rectangle,其中涉及构造函数、纯虚函数、成员函数和函数调用。着重考查函数Show()在Triangle类与在Rectangle类中的定义,填空前应先理解Show()函数在该类中的功能。
【解题思路】
(1)考查for循环语句,该语句所在的函数的功能是输出字符组成的三角形。从外层循环中可以看出下标i代表行数,那么下标j就代表每一行字符的个数,因为要输出的是三角形,所以每一行的个数与该行的行数相关,即j<=i* 2一1;。
(2)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标i不大于行数即可。
(3)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标j不大于列数即可。
(4)主要考查考生对虚函数的掌握,该语句所在的函数是普通函数fun,题目要求为fun函数添加形参。从函数体中可以知道形参名为cs,那么形参的类型是什么呢?就是抽象类CharShape,因此要使用CharShape&cs才可以实现题目要求输出的内容。
【解题宝典】
本题主要考查考生对for循环语句的掌握及虚函数的使用,for循环是最常考到的知识点,要结合好上下文的语义来填写,首先要清楚该语句所在函数要实现的功能,其次要知道该语句的作用。
转载请注明原文地址:https://kaotiyun.com/show/7B8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 B特别要注意“结点的度”和“树的度”是两个不同的概念。“结点的度”指的是此结点拥有的后件个数。“树的度”指的是所有结点中的最大的度。在二叉树中,结点中最大的度为2,所以二叉树的度为2。
A、 B、 C、 D、 B在面向对象程序设计中,允许作用于某个对象上的操作称为方法,方法是对象的动态属性。对象间的通信靠消息传递。对象是属性和方法的封装体,可以从祖先中继承属性和方法,但不是任何对象都具有继承
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 C虚函数是在类的声明中使用virtual关键字来限定的成员函数,在成员函数实现时不能再使用virtual关键字进行限定。派生类中的虚函数必须和基类中的虚函数的形参个数、形参类型、返回值
A、 B、 C、 D、 A本题考查数据库系统的基本概念和知识。数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构又叫物理结构,是逻辑结构在计算
自顶向下程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂的问题,应该设计一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。
A、 B、 C、 D、 A由于线性表采用的是顺序存储方式,用存储单元的邻接性体现线性表元素间的一维顺序关系,因此对线性表进行插入和删除运算时,可能需要移动大量的结点,以保持这种物理和逻辑的一致性。对于选项A)
若有类声明:classMyClass{public:MyClass(){cout<<1;}};执行下列语句MyClassa,b[2],*P[2];以后,程序的输出结果是A)11
下列关于栈的叙述中,正确的选项是()。
随机试题
男性,55岁,患“胃炎”25年,突然出现腹部剧烈疼痛并迅速波及全腹。查体:腹式呼吸减弱,腹肌紧张,全腹压痛及反跳痛阳性,尤以上腹部为重,X线检查示膈下游离气体,拟诊为胃、十二指肠穿孔。可减少腹腔毒素吸收的体位是
超声探头的核心是压电晶片,其主要的作用是
食管癌病人由于食管梗阻引起食物反流常导致()
对于同一棵大树,在木匠的眼中是木材,画家看到的是色彩和色调,植物学家看到的是它的形态特征,这是由于()。
建设项目规划阶段对投资估算精度的要求为允许误差大于()。
自2018年1月1日起,当年具备高新技术企业或科技型中小企业资格的企业,其具备资格年度之前5个年度发生的尚未弥补完的亏损,准予结转以后年度弥补,最长结转年限由5年延长至10年。()
利源公司于2007年1月1日发行5年期、一次还本、分期付息的公司债券,每年12月31日支付利息。该公司债券票面利率为5%,面值总额为300000万元,发行价格总额为313347万元;支付发行费用120万元,发行期间冻结资金利息为150万元。假定该公司
Johnplaysfootball______,ifnotbetterthanDavid.
A、Themanshouldstartrunningdaily.B、Shealsopreferstoexerciseintheafternoon.C、It’simportanttowarmupbeforeexerci
A、Intheoffice.B、Athome.C、Inalibrary.D、Inabookstore.D细节推断题。对话中男士和女士一直在谈论的是书,由此可以锁定答案为C或D,又由对话中不断出现的bestseller,pay,mon
最新回复
(
0
)