首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹prog2下的工程prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部
请使用VC6或使用【答题】菜单打开考生文件夹prog2下的工程prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部
admin
2021-09-05
96
问题
请使用VC6或使用【答题】菜单打开考生文件夹prog2下的工程prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
改换办公室前:
职工号:0789 姓 名:张三 部 门:人事处 办公室:521
职工号:0513 姓 名:李四 部 门:人事处 办公室:521
改换办公室后:
职工号:0789 姓 名:张三 部 门:人事处
办公室:311
职工号:0513 姓 名:李四 部 门:人事处 办公室:311
注意:只在横线处填写适当的代码,不要改动程序中的其他内容。
#include
using namespace std;
class Department{ //“部门”类
public:
Department(const char *
strcpy(this->name,name);
//**********found**********
}
const char*getName()const{return name;} //返回部门名称
//**********found**********
const char*getOffice()
const{_________) //返回办公室房号
void changeOfficeTo (const char*office){//改换为指定房号的另一个办公室
strcpy(this->office,office);
}
private:
char name[20]; //部门名称
char office[20]; //部门所在办公室房号
};
class Staff{ //“职工”类
public:
//**********found**********
Staff(const char*my id,const char*my_name,Department&my dept):_________{
strcpy(this->staff_id,my id);
strcpy(this->name,my_name);
}
const char*getID()const{return staff id;}
const char*getName()const{return name;}
Department getDepartment()const{return dept;}
private:
char staff id[10]; //职工号
char name[20];//姓名
Department&dept; //所在部门
};
void showStaff(Staff&staff){
cout<<"职工号:"<
cout<<"姓名:"<
cout<<"部门:"<
cout<<"办公室:"<
}
int main(){
Department dept("人事处","521");
Staff Zhang("0789","张三",dept),Li("0513","李四",dept);
cout<<"改换办公室前:"<
showStaff(Zhang);
showStaff(Li);
//人事处办公室由521搬到311
//***********found***********
cout<<"改换办公室后:"<
showStaff(Zhang);
showStaff(Li);
return 0;
}
选项
答案
(1)strcpy(this->office,office); (2)return office; (3)dept(my_dept) (4)dept.changeOfficeTo("311");
解析
(1)主要考查考生对strcpy函数的掌握情况,根据上一条语句:strcpy(this->name,name);可知,这条语句复制的是office,即strcpy(this->office,office);。
(2)主要考查考生对成员函数的掌握情况,根据语句的注释:返回办公室房号可知,要填写的是一条return语句。在私有成员里:char office[20];//部门所在办公室房号,表明office即为办公室房号。因此直接返回office即可。
(3)主要考查考生对构造函数的掌握情况,根据函数体:
strcpy(this->staffl_id,my_id);
st.rcpy(this->name,my_name);
可知,只有dept没有初始化,而空格前有字符“:”,这是成员列表初始化的标识符,因此填写dept(my_dept)即可。
(4)主要考查考生对成员函数的调用的掌握情况,根据题目要求:人事处办公室由521搬到311。在Department类中有函数void changeOfficeTo(constchar*office)可以修改办公室的房间号,直接调用即可。
转载请注明原文地址:https://www.kaotiyun.com/show/t65p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是()。
下列关于模板的叙述中,错误的是()。
下列叙述中正确的是
下面程序中对一维坐标点类Point进行运算符重载#include<iostream>usingnamespacestd;classPoint{public:Point(intval){x=val;}
对长度为n的线性表作快速排序,在最坏情况下,比较次数为
下列运算符函数中肯定不属于类FunNumber的成员函数的是()。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制。#include<iostream>usingnamespacestd;classBase{
请打开考生文件夹下的解决方案文件proi2,该工程中包含一个程序文件main.cpp,其中有日期类Date、人员类Person及排序函数sortByName和主函数main的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。此程
学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C#,G)(其属性分别为学号、姓名、所在系、年龄、课程号和成绩);C(C#,Cn,P#)(其属性分别为课程号、课程名、先选课)。关系模式中包含对主属性部分依赖的是()。
面向对象方法中,继承是指()。
随机试题
关于第一心音的描述,正确的是
(2010年第81题)下列关于胰腺假性囊肿的叙述中,正确的是
患者女性,32岁。因纳差3天、发热伴咳嗽2天、意识模糊、烦躁半天急诊入院。妊娠36周。有慢性乙肝病史10年。体检:R28次/分,P88次/分,BP120/75mmHg。神志恍惚;巩膜中度黄染,有肝掌,颈部可见散在分布的蜘蛛痣;右下肺闻及湿啰音,心脏听诊无明
属升浮药性的"性味"是()
双方欲签订的合同的性质是()。B钢铁公司向A空压机配件厂预先支付的1000元的性质是()。
有效信息沟通的障碍主要产生在()方面。
下列有关利率风险的说法,正确的足()。
设f(x)的一个原函数为xf’(x)dx=______.
YouhavejustcomebackfromCanadaandfoundamusicCDinyourluggagethatyouforgottoreturntoBob,yourlandlordthere.
A、Heneverknowshowtorefuse.B、Heisalwaysreadytohelpothers.C、Hisbosshasalotoftrustinhim.D、Hisbosshasnosen
最新回复
(
0
)