<h2>Description</h2><div class="content"><div>领导类(Leader)和工程师类(Engineer)都是人类(Person)的派生类。请将下面代码中空缺的部分填上,使main函数中能通过指向Person类的指针,调用Leader和Engineer类中各自的成员函数show,输出相关的信息</div><div><h2>Input</h2><div class="content"><div>第一行输入是某领导的信息,如“Wang 40 Manager Sales”表示40岁的王(Wang)领导是销售部(Sales)的经理(Manager)。</div><div>第二行输入某工程师的信息,如“Zhang 30 Software”表示30岁的张(Zhang)是工程师,他的专业是软件(Software)</div><p></p></div><h2>Output</h2><div class="content"><div>规定的格式输出信息,请注意空格及最后的标点。</div><p></p></div><h2>Sample Input</h2><pre class="content"><span class="sampledata">Wang 40 Manager Sales
Zhang 30 Software</span>
Sample Output
Wang is Manager in Sales department.
Zhang is an engineer of Software major.
/* All rights reserved.
* 文件名称:test.cpp
* 作者:陈丹妮
* 完成日期:2015年 6 月 21 日
* 版 本 号:v1.0
*/
#include <iostream>
using namespace std;
class Person
{
public:
Person(string na, int a):name(na),age(a) {}
void virtual show(){}
protected:
string name; // 姓名
int age; // 年龄
};
class Leader:public Person
{
private:
string job; // 职务
string dep; // 部门
public:
Leader(string na, int a, string j, string d):Person(na,a),job(j),dep(d) { }
void show()
{
cout<<name<<" is "<<job<<" in "<<dep<<" department."<<endl;
}
};
class Engineer: public Person
{
string major; // 专业
public:
Engineer (string na, int a, string m): Person(na, a),major(m) { }
void show()
{
cout<<name<<" is an engineer of "<<major<<" major."<<endl;
}
};
int main()
{
Person *p;
string name, job, dept,major;
int age;
cin>>name>>age>>job>>dept;
p=new Leader(name,age,job,dept);
p->show();
cin>>name>>age>>major;
p=new Engineer(name,age,major);
p->show();
return 0;
}
总结:这道题是我出问题较多的题,也可是我的问题所在,我会借这道题找出自己的问题,在不断地练习,把它拿下,加油加油!!
心得体会:今天这个测试做的还是不错的,挺顺利的,就是自己速度有点慢了,还有一点的小问题,希望在考前的这几天能够好好的刷题,不断的积累,我觉得刷题积累真的很好用,今天就是一个很好的证明。继续努力,继续坚持,向优秀的人学习,不断取得进步!!!