首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个程序文件main.cpp,其中有“班级”类Class和“学生”类Student的定义,还有主函数main的定义。在主函数中定义了两个“学生”对象,他们属于同一班级。程序展示,当该班级换教室后,这两
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个程序文件main.cpp,其中有“班级”类Class和“学生”类Student的定义,还有主函数main的定义。在主函数中定义了两个“学生”对象,他们属于同一班级。程序展示,当该班级换教室后,这两
admin
2019-04-24
31
问题
请打开考生文件夹下的解决方案文件proj2,此工程中包含一个程序文件main.cpp,其中有“班级”类Class和“学生”类Student的定义,还有主函数main的定义。在主函数中定义了两个“学生”对象,他们属于同一班级。程序展示,当该班级换教室后,这两个人的教室也同时得到改变。请在横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
改换教室前:
学号:0789 姓名:张三 班级:062113 教室:521
学号:0513 姓名:李四 班级:062113 教室:521
改换教室后:
学号:0789 姓名:张三 班级:062113 教室:311
学号:0513 姓名:李四 班级:062113 教室:311
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容。
#include
using namespace std;
class class{ //“班级”类
public:
Class(conSt char*id,const
char*room){
strcpy(class id,id);
//*******found*******
}
conSt char*getclassID()
const { return class id;} //
返回班号
//*******found*******
const char*getClassroom()
const{__________} //返回所在教室房号
void changeRoomTo(const char
*new room) { //改换到另一个指定房号的教室
strcpy(classroom,new room);
}
private:
char class id[20]; //班号
char classroom[20]; //所在教室房号
};
class Student{ //“学生”类
char my id[10];//学号
char my name[20]; //姓名
Class&my class; //所在教室
public:
//*******found*******
Student(const char*the id,const char*the name,class&the class):_____________{
strcpy(my id,the id);
strcpy(my_name,the_name);
}
const char*getID()const{return my_id;}
const char*getName()const{return my_namej}
Class getClass()const{return my class;}
};
void showStudent(Student *stu){
cout<<"学号:"<
getID()<<" ";
cout<<"姓名:"<
getName()<<" ";
cout<<"班级:"<
get-
class().getClassID()<<" ";
cout<<"教室:"<
get•
class().getclassroom()<<
endl;
}
int main(){
class cla("062113","521");
Student Zhang("0789","张三",cla),Li("0513","李四",cla);
cout<<”改换教室前:"<
showStudent(&Zhang);
showStudent(&Li);
//062113班的教室由521改换到311
//*******found*******
cout<<"改换教室后:"<
showStudent(&Zhang);
showStudent(&Li);
return 0;
}
选项
答案
(1)strcpy(classroom,room); (2)return classroom; (3)my_class(the_class) (4)cla.changeRoomTo("311");
解析
(1)主要考查考生对strcpy函数的掌握情况,根据上一条语句:strcpy(class_id,id);可知,这条语句要复制字符串room,因此使用strcpy函数复制,即strcpy(classroom,room);。
(2)主要考查考生对函数返回值的掌握情况,根据函数要求:返回所在教室房号及函数要求返回的类型为const chat*,可以得出这里直接使用return语句返回classroom即可。
(3)主要考查考生对构造函数的掌握情况,先看函数体中:
strcpy(my_jd,the_jd);
strcpy(my_name,the_name);
可知只有参数Class&the_class未使用,因此在这里使用成员列表初始化给my_class赋初始值。
(4)主要考查考生对成员函数调用的掌握,程序要求062113班的教室由521改换到311。在类Class中已经定义了函数:void changeRoomTo(const char*new_room)。因此直接调用函数changeRoomTo即可。
转载请注明原文地址:https://kaotiyun.com/show/JOAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如下程序的输出结果是______。#include<iostream>usingnamespacestd;intfunl(intx){return++x;}intfun2(int&x){return++x;
在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例称为“______”。
有以下程序段:#include<iostream.h>#defineMAX(x,y)(x)>(y)?(x):(y)voidmain(){inti,j,k;i=10;j=15;k=MAX(i
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false,则横线处应填上()。Boolfun(char*str){inti=0,j=0;while(str[j])j++;for(j
下面对对象概念描述正确的是()
下列叙述中正确的是()。
一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称______。
有如下类声明:classFoo{intbar;};则Foo类的成员bar是()
下列程序的输出结果是()。#include<iostream>usingnamespacestd;templateTfun(Ta,Tb){return(a>=b)?a:b;}voidmain()
随机试题
唯物辩证法认为,规律是
代谢性酸中毒可引起血钾增高,但在纠正酸中毒后需及时补钾,原因是
20世纪90年代中期人们从病例对照研究和荟萃分析中发现,与利尿剂和β受体阻滞剂相比,可有效降低血压,但可能增加心肌梗死和死亡的危险,剂量越大,风险的增加越明显的药物是
出口胶合板须报检、进口胶合板也须报检。( )
授予发明专利权的条件不包括()。
某工厂对一、二两个车间的职工进行重组,将原来的一车间人数的和二车间人数的分到一车间,将原来的一车间人数的和二车间人数的分到二车间,两个车间剩余的140人组成劳动服务公司,现在二车间人数比一车间人数多,原来一车间有多少人?
古希腊雅典教育。
求下列方程通解或满足给定初始条件的特解:1)y+1=χeχ+y.2)χ+χ+sin(χ+y)=03)y′+ytanχ=cosχ4)(1+χ)y〞+y′=05)yy〞-(y′)2=y4,y(0)=1,y′(0
设A为n阶矩阵,a0≠0,满足Aα0=0,向量组α1,α2满足Aα1=α0,A2α2=α0.证明α0,α1,α2线性无关.
【B1】【B2】
最新回复
(
0
)