码迷,mamicode.com
首页 > 其他好文 > 详细

第十一周项目3-警察和厨师(2)

时间:2016-05-12 22:16:26      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

问题及代码:

/*
 *Copyright (c) 2016,烟台大学计算机学院
 *All rights reserved.
 *文件名称:zwj.cpp
 *作    者:张伟晶
 *完成日期:2016年5月9日
 *版 本 号:v1.0
 *
 *问题描述:警察和厨师(2)
 *输入描述:
 *程序输出:
 */
#include<iostream>
#include<string>
using namespace std;
class Person
{
private:
    int age;
    string name;
public:
    Person(int ,string);
    void action();
    int  getage(){return age;}
    string getname(){return name;}
};
Person::Person(int a,string nam):age(a),name(nam){}
class Polic:public Person
{
private:
    int level;
    Person leader;   // 增加了person 类的leader
public:
    Polic(int ,string  ,int ,Person );
    void arrest(Person);
};
Polic::Polic(int a,string nam,int l , Person lea):Person(a,nam),level(l),leader(lea){}
class Cook:public Person
{
private:
    double salary;
    Polic protecter;  //  增加了polic类的保护者
public:
    Cook(int ,string ,double,Polic);
    string getCake(int);
};
Cook::Cook(int a,string nam,double s , Polic aa):Person(a,nam),salary(s),protecter(aa){}
void Person::action()
{
    cout<<name<<" have some action ."<<endl;
}
void Polic::arrest(Person p)
{
    cout<<getname()<<" arrest "<<p.getname()<<" , "<<getname()<<" 的等级是 "<<level<<" , "<<getname()<<" 的年龄是 "<<getage()<<endl;
    cout<<endl;
        // police 的 leader
    cout<<getname()<<" 的领导是 "<<leader.getname()<<endl;
    cout<<endl;
    cout<<leader.getname()<<" 的年龄是 "<<leader.getage()<<endl;
    cout<<endl;
}
string Cook::getCake(int a)
{
    cout<<getname()<<" get "<<a<<" cakes."<<endl;
    cout<<endl;
    // cook 的保护者
    cout<<getname()<<" 的保护者是 "<<protecter.getname()<<endl;
    return getname();
}
int main()
{
    Person p(20,"person1");
    Person leader1(20,"leader1");
    Polic police(23,"police2",3,leader1);
    Cook cook(19,"cook3",5000,police);
    police.arrest(p);
    cook.getCake(5);
    return 0;

}

运行结果:

技术分享


知识点总结:

定义构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化,也可以自动调用基类构造函数完成。要保证在基类中定义了派生类需要的构造函数。


学习心得:


第十一周项目3-警察和厨师(2)

标签:

原文地址:http://blog.csdn.net/angeljing521/article/details/51352167

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!