首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 本程序用于评选优秀教师和学生。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。其类结构如下图所示: 【程序】 #include
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 本程序用于评选优秀教师和学生。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。其类结构如下图所示: 【程序】 #include
admin
2010-01-15
25
问题
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
本程序用于评选优秀教师和学生。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。其类结构如下图所示:
【程序】
#include <iostream.h>
#include <stdio. h>
class base
{
protected:
char name[8];
public:
void getname(){cout<<"name:"; cin>>name;}
void printname(){cout<<"name:"<<name<<endl;}
(1)
};
class student: (2)
{
int num;
public:
void getnum()
{cout<<"score:"; cin>>num;}
bool isgood()
{return (3) }
};
class teacher: (2)
{
int num;
public:
void getnum()
{cout<<"paper:"; cin>>num;}
bool isgood()
{return (num>3)?true:false;}
void main()
{
base *p[50];
student *pstud;
teacher *ptech;
char ch;
int count=0;
do{
cout<<"input teacher(t) or student(s):";
cin>>ch;
if(ch==’s’)
{
pstud=new student;
pstud->getname();
pstud->getnum();
p[count++]=pstud;
}
else if(ch==’t’)
{
(4)
ptech->getname();
ptech->getnum();
p[count++]=ptech;
}
else
cout<<"input is wrong"<<endl;
cout<<"continue to iput(y/n)?";
cin>>ch;
}while(ch==’y’);
for(int i=0;i<count;i++)
if((5))
p
->printname();
}
选项
答案
(1)virtual bool isgood()=0; (2)public base (3)(num>90)?true:false; (4)ptech=new teacher; (5)p[i]->isgood()==true
解析
本题考查C++中类的继承、虚函数和其他一些语法结构。
题目要求本题的程序用于评选优秀教师和学生,在输入一系列教师或学生的记录后,能将优秀学生及教师的姓名列出来。根据题目中的图,对于学生来说,只要拿其考试成绩与90比较大小就可;对于老师来说,只要一年内发表的论文超过3篇就可以。
下面我们来分析代码。代码给出了三个类的定义和一个主函数,类base是类student和类teacher的基类。
第(1)空处在基类base的定义里面,结合题目中的要求,我们知道类base中需要定义一个isgood()虚函数,但在类base的代码中并没有看到对虚函数isgood()的定义,因此,第(1)空应该是定义虚函数isgood()。在C++中定义虚函数的方法是在函数的定义前加一个关键字virtual,所以,此空应填virtual bool isgood()=0。
第(2)空处的作用很明显,是用在继承类的定义时,表明其对父类的继承方式,由继承类中继承父类的成员方法getname()仍然是公有的可以知道,子类对父类的继承方式是公有继承。所以,此空答案为public base。
第(3)空处的作用是在类student中重新定义虚函数isgood(),其要完成的任务在上面分析中已经知道,拿学生的考试成绩与90比大小,如果大于90返回true,否则返回 false。因此,此空答案为(num>90)?true:false。
在做第(4)空时,我们如果结合前面那个订语句下面的代码就很容易明白了,此空要完成的任务是动态创建一个teacher对象,因此,答案为ptech=new teacher。
第(5)空所在的位置是一个条件选择语句的条件,再结合全程序来看,不难发现此时程序还没有实现对优秀学生及教师的姓名的列出,而第(5)空下面的语句刚好用来列出姓名,那么第(5)空的功能是判断是否为优秀学生或老师,调用函数isgood()可以实现。因此,此空答案为p
->isgood()==true。
转载请注明原文地址:https://jikaoti.com/ti/WXW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
根据某机构的统计与推测,我国人口中男性和女性各个年龄段的百分比如下图。根据该图,以下叙述中正确的是________________。
Windows7中的文件命名规则不包括________________。
我国的信息安全法律法规包括国家法律、行政法规和部门规章及规范性文件等。()属于部门规章及规范性文件。
在Excel工作表中,已输入的数据如下所示:按回车键后,B2单元格显示的值为()。
小王在Excel中录入某企业各部门的生产经营数据,录入完成后发现报表略超一页,为在一页中完整打印,以下______做法正确。
()不属于ABC技术(人工智能-大数据-云计算)的典型应用。
电子商务有多种模式。()模式是个人消费者从在线商家处购买商品或服务。
180的正约数(能整除180的自然数,包括l和180本身)的个数是________。
随机试题
为人民服务的人生目的是建立在()
关于菌毛,下列哪一项是不正确的
根据《标准施工招标文件》(2007年版)通用合同条款,承包人可能同时获得工期和费用补偿、但不能获得利润补偿的索赔事件有()。【2016年真题】
关于级配碎石基层的说法,不正确的是()。
假设某基金在2014年12月3日的单位净值为1.3425元,2015年6月1日的单位净值为1.7464元。期间该基金曾于2015年2月28日每份额派发红利0.358元。该基金2015年2月27日(除息日前一天)的单位净值为1.6473元,则该基金在这段时间
下列关于黄金的说法正确的有()。
A、 B、 C、 D、 B
下列程序的输出结果是______。 main() { double d=3.2; int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); }
Ilsvont_____laGrandeMuraille,etmoi,jereste_____lamaison.
TheToriesaretheforerunnersof______,whichstillbearsthenicknametoday.
最新回复
(
0
)