首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Triangle类和Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Triangle类和Rectangle类。 CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数
admin
2020-04-07
38
问题
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp,其中定义了CharShape类、Triangle类和Rectangle类。
CharShape是一个抽象基类,它表示由字符组成的图形(简称字符图形),纯虚函数Show用于显示不同字符图形的相同操作接口。Triangle和Rectangle是CharShape的派生类,它们分别用于表示字符三角形和字符矩形,并且都定义了成员函数Show,用于实现各自的显示操作。程序的正确输出结果应为:
*
***
*****
*******
########
########
########
请阅读程序,分析输出结果,然后根据以下要求在横线处填写适当的代码并删除横线。
(1)将Triangle类的成员函数Show补充完整,使字符三角形的显示符合输出结果。
(2)将Rectangle类的成员函数Show补充完整,使字符矩形的显示符合输出结果。
(3)为类外函数fun添加合适的形参。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//**** found ****”。
//proj2.cpp
#include <iostream>
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) :CharShape(ch), _rows(r){ }
voicl 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<<endl;
}
}
void Rectangle::Show()
//输出字符组成的矩形
{
//********found********
for(int i=1; i<=____________;i++){
//********found********
for(int j =1;j <=
__________;j++)
cout<<ch;
cout<<endl;
}
}
//********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)(2harShape& cs
解析
考查for循环语句,该语句所在的函数的功能是输出字符组成的三角形。从外层循环中可以看出下标i代表行数,那么下标j就代表每一行字符的个数,因为要输出的是三角形,所以每一行的个数与该行的行数相关,即j<=i*2一1;。
(2)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标i不大于行数即可。
(3)考查for循环语句,该语句所在的函数的功能是输出字符组成的矩形。回到Rectangle类中可以知道矩形的长和宽就是类中私有成员的行数和列数,因此在这里只要要求下标j不大于列数即可。
(4)主要考查考生对虚函数的掌握,该语句所在的函数是普通函数fun,题目要求为fun函数添加形参。从函数体中可以知道形参名为cs,那么形参的类型是什么呢?就是抽象类CharShape,因此要使用Charshape& cs才可以实现题目要求输出的内容。
转载请注明原文地址:https://kaotiyun.com/show/cw8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
假定动态分配一个类型为Worker的具有n个元素的数组,并由P指向这个动态数组,如果要释放这个数组,则使用的语句为【】。
在C++中用来实现运行时多态性的是______。
有如下程序:#include<iostream>usingnamespacestd;intmain(){cout.fill(’*’);cout.width(5);
有如下类声明:classXA{intx;public:XA(intU)}x=n;}};classXB:publicXA{inty;public:XB(in
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;voidfun(int&rf)}rf*=2;}intmain(){
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
设栈的存储空间为S(1:40),初始状态为bottom=0,top=0,现经过一系列入栈与出栈运算后,top=20,则当前栈中有【2】个元素。
随机试题
法治素养
胃溃疡的好发部位在_______,十二指肠溃疡的好发部位在_______。
十二指肠溃疡的好发部位是
环境规划的主要特征为()。
工程项目的多次计价有其各不相同的计价依据。每次计价的精确度要求也各不相同,这体现了计价的()特征。
长江公司为生产企业,设有一个基本生产车间,主要生产甲、乙两种产品。2019年4月有关生产资料如下:(1)产品产量资料如下表所示:(2)甲产品实际生产工时1200小时;乙产品实际生产工时2800小时。甲、乙产品的原材料在生产开始时一次性投入,加工费用发
地陪李先生陪同一个内宾团在H市旅游。期间恰逢当地举办民俗庙会,十分热闹。在离开H市的前一天上午,游客M女士在观看民俗歌舞表演时突然发现手袋不见了,手袋里有她的身份证,而第二天离站时安排的交通方式是乘飞机离开。M女士慌慌张张地找到李先生告知此事,请求帮助。
管理
简述合同债权让与的条件。
大学生在从事职业活动时,会遇到许多纠纷,因此了解职业活动中的法律,对于大学生求职、就业,正确处理有关职业的法律关系,以及做到知法守法具有十分重要的意义。下列选项中,既属于处理劳动争议的法定途径,又属于处理人事争议的法定途径的是
最新回复
(
0
)