領導類(Leader)和工程師類(Engineer)都是人類(Person)的派生類。請將下面程式碼中空缺的部分填上,使main函式中能通過指向Person類的指標,呼叫Leader和Engineer類中各自的成員函式show,輸出相關的資訊
//************* begin *****************
#include <iostream>
using namespace std;
class Person
{
public:
Person(string na, int a):name(na),age(a) {}
___(1)_____ show() ___(2)___;
protected:
string name; // 姓名
int age; // 年齡
};
class Leader: ___(3)_____ Person
{
private:
string job; // 職務
string dep; // 部門
public:
Leader(string na, int a, string j, string d): ____(4)______{ }
void show(){____(5)____}
};
//************* end *****************
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;
}