您的位置:首页 > 其它

OJ——指向基类的指针访问派生类的成员函数

2015-06-25 16:47 387 查看
#include <iostream>
using namespace std;
class Person
{
public:
Person(string na, int a):name(na),age(a) {}
virtual void show()=0;
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 major1;    // 专业
public:
Engineer (string na, int a, string m): Person(na, a),major1(m) { }
void show(){cout<<name<<" is an engineer of "<<major1<<" 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: