首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,其中定义了Employee类和Manager类。Em-ployee用于表示某公司的雇员,其属性包括姓名(name)和工作部分(dept)。Msxmger是Employee的公有派生类,用
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,其中定义了Employee类和Manager类。Em-ployee用于表示某公司的雇员,其属性包括姓名(name)和工作部分(dept)。Msxmger是Employee的公有派生类,用
admin
2019-05-29
69
问题
请使用VC6或使用【答题】菜单打开考生文件夹pmj2下的工程pmj2,其中定义了Employee类和Manager类。Em-ployee用于表示某公司的雇员,其属性包括姓名(name)和工作部分(dept)。Msxmger是Employee的公有派生类,用于表示雇员中的经理。除了姓名和工作部分之外,Manager的属性还包括级别(1evel)。Employee类的成员函数print用于输出雇员的信息Manager类的成员函数print负责输出经理的信息。请在横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为:
Name:Sally Snlith
Dept:SaLles
Level:2
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
#include
using namespace std;
class Employee{
public:
Employee(string name, string
dept):
//**********found**********
{ }
virtual void print()const;
string dept()const//返回部门名称
{
//**********found***********
}
virtual—Employee(){)
private:
string name一;
string dept一;
};
class Manager:public Employee{
public:
Manager(string name,string dept,
int level):
//**********found************
{ }
virtual void print()const;
private:
int level;
},
void Employee::print()const
{
cout<<”Name:”<
cout<<”Dept:”<
}
void Manager::print()const
{
//**********found***********
cout << “Level:” <
endl;
}
int main()
{
Employee*emp=new Manager(”Sally Smith”,”Sales”,2);
emp一>print();
delete emp;
return 0;
}
选项
答案
(1)name_(name),dept一(dept) (2)return dept一; (3)Employee(name,dept),level一(1evel) (4)Employee::print();
解析
本题考查Employee类及其派生类Manager,其中涉及构造函数、虚函数和cosnt函数。构造函数使用成员列表初始化,特别是派生类的构造函数要先调用基类的构造函数。
【解题思路】
(1)主要考查考生对构造函数的掌握,这里使用成员列表初始化法对私有成员初始化。
(2)主要考查考生对成员函数的掌握,题目要求返回部门名称,因此这里是一条返回语句。函数要求返回的类型为string,因此直接返回dept一即可。
(3)主要考查考生对构造函数的掌握,因为Manager类是Employee类的派生类,因此它的构造函数要先对基类初始化,应使用成员列表初始化。
(4)主要考查考生对虚函数的掌握,因为Manager类是EInployee类的派生类,因此它的print函数可以先调用基类的Print函数,再输出自身要输出的数据,故为Employee::一nt();。
转载请注明原文地址:https://www.kaotiyun.com/show/n68p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
A、 B、 C、 D、 C此题考查的是函数模板。声明一个函数模板的格式是:template函数声明,{函数体}其中的是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:t
A、 B、 C、 D、 Apb作为基类指针,可以指向派生类对象,但是它只能访问基类的成员函数,而不能访问派生类的成员函数,所以pb->show();访问的是基类的show()函数,故打印10,20。
A、 B、 C、 D、 Atest的构造函数重载,testA[3]调用test(intA)函数,然后删除时调用析构函数,故输出选项A。
A、 B、 C、 D、 B构造函数A中的形参a对静态成员a形成了屏蔽,故只有在成员函数init()中才将静态成员a的值修改为1,而在其他成员函数中没发生变换,故obj.a=1。
A、 B、 C、 D、 CC是传值调用,所以被调函数中形参值改变不会影响到实参,而且没有返回值,所以不会对调用函数产生影响。A是把引用作为函数参数,D是把指针作为函数参数,都属于传地址调用,改变形参均会影响参
A、 B、 C、 D、 CE-R模型中,有3个基本的抽象概念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。
ABBA此题考查的是类的构造与析构。建立类的对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序(自左向右)->执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序->执行自身的构造函数。析构顺序与之相反。
下列程序的输出结果是______。#include<iostream>#include<cstring>usingnamespacestd;voidfun(constchar*S,char&C){e=
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。有如下程序,没有使用多态机制:#include<iostream>usingnamespacestd;classBase{
A、 B、 C、 D、 Dc++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~Myclass()。
随机试题
面向对象方法中,继承是指()。
适于骨盆内测量的测量时间是
A、铈量法B、亚硝酸钠滴定法C、碘量法D、酸碱滴定法E、溴量法硝苯地平的含量测定方法为( )。
《廉租住房保障办法》规定,采取实物配租方式的,配租面积为城市低收入住房困难家庭现住房面积与保障面积标准之和。()
钢筋的弯制和末端的弯钩应符合设计要求。如果设计未作规定时,所有的受拉光圆钢筋的末端应做()弯钩。
失业保障约束的指标越高,表示即使失业也暂时不会影响生活,可审慎地寻找下一个适合的工作。()
下列说法正确的有( )。
根据下列材料回答问题。如果按照2013年的同比增量计算,城镇私营单位就业人员年平均工资将在哪一年超过5万元?()
关于黄淮海平原的叙述,正确的是()。
ManywithNewCollegeDegreeFindtheJobMarketHumblingTheindividualstoriesarefamiliar.Thechemistrymajortendingb
最新回复
(
0
)