判断题

【参考答案】

错误

(↓↓↓ 点击‘点击查看答案’看答案解析 ↓↓↓)

相关考题

问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句: TC1:0 TC2注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。 试题程序: #include<iostream.h> structTC1 { TCl(inti=0) { m_i=i; } voidprint() { cout<<"TCl:"<<m_i<<endl; } intm_i; }; classTC2 { public: TC2() { } voidprint() { cout<<"TC2"<<endl: } //********error******** private: ~TC2() { } }; intmain() { //********error******** TC1obj1(); //********error******** TC20bj2(); obj1.print(); obj2.print(); return0; }

问答题 (1)应添加“virtualvoidGetNamt!()=0;”。 (2)应添加“constchar*GetName2()”。 (3)应添加“TC2(char*str)”。 (4)应添加“m_str[i]=0;”。 【解析】本题第1处要求“在类TC1中定义接口函数GetName,为纯虚函数”。在C++中,在基类中用virtual声明成员函数为虚函数。纯虚函数是在声明虚函数时被“初始化”为0的函数,即“virtualvoidGetName()=0;”。第2处要求“函数GetName2实现获得名字的缓存,但只获得读允许操作这个缓存”。只能引用数据成员,而不能修改,所以使用常成员函数,其一般形式为“const函数类型函数名”,即“constchar*GetName2()”。第3处要求“实现TC2的构造函数”。TC2的构造函数与类TC2的名称应该相同,而且第3处的大括弧中是对字符数组str的操作,所以类TC2的构造函数中的参数为str,即这里补全为“TC2(char*str)”。第4处要求“完成TC2的构造函数,实现对名字的处理”,补全类TC2的构造函数,构造函数中的名字变量str对应于类TC中的成员变量m_str,所以这里补全变量赋值操作“m_str[i]=0;”。

填空题 给定程序的功能是将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:成绩为60~69的人数存到b[0]中,成绩为70~79的人数存到b[1]中,成绩为80~89的人数存到b[2]中,成绩为90~99的人数存到b[3]中,成绩为100的人数存到b[4]中,成绩为60分以下的人数存到b[5]中。 例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98,调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若于表达式或语句。 试题程序: #includedstdi0.h> void fun(int a[],int b[],int n) { int i; for(i=0;i<6;I++) b[i]=0; for(i=0:i<【1】 ;i++) if(a[i]<60) b[5]++; 【2】 b[(a[i]一60)/10]++; } void main() { int i,a[100]={93,85,77,68,59,43,94,75,98),b[6]; fun(【3】 ,9); printf("the result is:"); for(i=0;i<6;i++) printf("%d",b[i]); printf("\n,"); }