问题及代码:
/*copyright(c)2016.烟台大学计算机学院
* All rights reserved,
* 文件名称:text.Cpp
* 作者:李一波
* 完成日期:2016年5月12日
* 版本号:vc++6.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
#include<iostream>
using namespace std;
class Person
{
public:
void action();
string getName()
{
return name;
}
Person(int nianling,string xingming):age(nianling),name(xingming){}
private:
int age;
string name;
};
void Person::action()
{
cout<<getName()<<"做了一些事情"<<endl;
}
class Polic:public Person
{
private:
int level;
Person leader;
public:
Polic(int nianling,string xingming,int lev,int nian_ling,string xing_ming):Person(nianling,xingming),level(lev),leader(nian_ling,xing_ming){}
void arrest(Person);
void show()
{
cout<<getName()<<"的等级是:"<<level<<endl;
cout<<getName()<<"的领导是:"<<leader.getName()<<endl;
}
};
void Polic::arrest(Person p)
{
cout<<" Police "<<getName()<<" arrest " <<p.getName()<<endl;
}
class Cook:public Person
{
private:
double salary;
Polic protector;
public:
void getCake(int);
void show()
{
cout<<getName()<<"的片区警察是:"<<getName()<<endl;
}
Cook(int nianling,string xingming,double xinshui,int nianling1,string xingming1,int lev,int nian_ling,string xing_ming):Person(nianling,xingming),salary(xinshui),protector(nianling1,xingming1,lev,nian_ling,xing_ming){}
};
void Cook::getCake(int n)
{
cout<<" Cook "<<getName()<<" gave me " <<n<<" cakes."<<endl;
}
int main()
{
Person per(20,"xiaoming");
Polic pol(21,"zhangsan",2,31,"lisi");
Cook cook(22,"wangwu",5000,23,"xiaowang",1,32,"laoli");
pol.show();
cook.show();
return 0;
}
运行结果: