您的位置:首页 > 其它

第10、 11周-【项目-警察和厨师】

2016-05-08 13:24 274 查看
问题及代码:

/*copyright 计算机与控制工程学院
完成日期:2016年5月8日
作者:马艳艳
问题描述:各个成员函数,只要输出相关的信息即可,暂不深究其业务功能
请为各个类增加构造函数
在实现中,可以增加需要的其他函数
自行编制main函数,完成初步的测试
输入描述:无
输出描述:成员信息
*/
#include <iostream>

using namespace std;
class Person
{
public:
Person(int ,string ,string);
void action();
string getN(){return name;}
int getA(){return age;}
string  getS(){return sex;}
private:
int age;
string name;
string sex;
};
Person::Person (int a,string n,string s):age(a),name(n),sex(s){}//给人,定义构造函数,包括年名名字性别
void Person::action()
{
cout<<name<<"is doing something "<<endl;
}
class Police:public Person
{
public:
Police (int ,string,string ,int);
void arrest(Person);
private:
int level;// 级别
};
Police::Police(int a,string n,string s,int l):Person(a,n,s),level(l){}
void Police::arrest(Person p)
{
cout<<"Police "<<" "<<getN()<<" "<<"whose sex is "<<p.getS()<<"  "<<"arrrest"<<" "<<p.getN()<<endl;
}
class Cook:public Person
{
public:
Cook(int ,string,string,double);
void getC(int );
private:
double salary;

};
Cook::Cook(int a,string n,string s, double sa):Person(a,n,s),salary(sa){}
void Cook::getC(int n)
{
cout<<" A Cook a "<<" "<<getS()<<" "<<getN()<<" "<<"give"<<" "<<n<<" "<<"cakes"<<endl;
}

int main()
{
Person Tom(120,"Tom","male");
Police Jack(30,"Jack","male",2);
Cook Mary(24,"Mary","female",5000);
Jack.arrest(Tom);
Mary.getC(4);
return 0;
}

运行结果:



知识点总结:

在类的继承构造函数只被调用一次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: