zoukankan      html  css  js  c++  java
  • C++走向远洋——45(*和厨师、UML)

    */
     * Copyright (c) 2016,烟台大学计算机与控制工程学院
     * All rights reserved.
     * 文件名:text.cpp
     * 作者:常轩
     * 微信公众号:Worldhello
     * 完成日期:2016年5月8日
     * 版本号:V1.0
     * 问题描述:根据类图,写出程序
     * 程序输入:无
     * 程序输出:见运行结果
     */
    #include <iostream>
    using namespace std;
    class Person
    {
    
    public:
        Person(int, string);
        void action();
        string getName()
        {
            return name;
        }
    private:
        int age;
        string name;
    };
    Person::Person(int a, string n):age(a), name(n) {}
    void Person::action()
    {
        cout<<name<<" do some action"<<endl;
    }
    class Police: public Person
    {
    public:
        Police(int, string, int);
        void arrest(Person);
    private:
        int level; //级别
    };
    Police::Police(int a, string n, int l):Person(a,n),level(l) {}
    void Police::arrest(Person p)
    {
        cout<<" Police "<<getName()<<" arrest " <<p.getName()<<endl;
    }
    class Cook: public Person
    {
    public:
        Cook(int, string, double);
        void getCake(int);
    private:
        double salary; //薪水
    };
    Cook::Cook(int a, string n, double s):Person(a,n),salary(s) {}
    void Cook::getCake(int n)
    {
        cout<<" Cook "<<getName()<<" gave me " <<n<<" cakes."<<endl;
    }
    
    int main()
    {
        Person tom(110,"li");
        Police jack(20,"Yang",2);
        Cook john(22,"Sun",4000);
        jack.arrest(li);
        john.getCake(4);
        return 0;
    }

    (2)

    #include <iostream>
    using namespace std;
    class Person
    {
    
    public:
        Person(int, string);
        void action();
        string getName()
        {
            return name;
        }
    private:
        int age;
        string name;
    };
    Person::Person(int a, string n):age(a), name(n) {}
    void Person::action()
    {
        cout<<name<<" do some action"<<endl;
    }
    class Police: public Person
    {
    public:
        Police(int a, string n, int l, int la, string ln);
        void arrest(Person);
        void show();
    private:
        int level; 
        Person leader;  
    };
    Police::Police(int a, string n, int l, int la, string ln):Person(a,n),level(l),leader(la,ln) {}
    void Police::arrest(Person p)
    {
        cout<<"Police "<<getName()<<" arrest " <<p.getName()<<endl;
    }
    void Police::show()
    {
        cout<<"Police "<<getName()<<", leader is " <<leader.getName()<<endl;
    }
    
    class Cook: public Person
    {
    public:
        Cook(int a, string n, double s,int pa, string pn, int pl, int pla, string pln);
        void getCake(int);
        void show();
    private:
        double salary; 
        Police protector;  
    };
    Cook::Cook(int a, string n, double s,int pa, string pn, int pl, int pla, string pln):
        Person(a,n),salary(s),protector(pa,pn,pl,pla,pln) {}
    void Cook::getCake(int n)
    {
        cout<<"Cook "<<getName()<<" gave me " <<n<<" cakes."<<endl;
    }
    void Cook::show()
    {
        cout<<"Cook "<<getName()<<" is protected by Police "<<protector.getName()<<endl;
    }
    
    int main()
    {
        Person tom(120,"Tom");
        Police jack(30,"Jack",2,43,"Jerry");
        Cook john(24,"John",5000,30,"Jack",2,43,"Jerry");
        jack.show();
        john.show();
        return 0;
    }


  • 相关阅读:
    How a non-windowed component can receive messages from Windows
    svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
    Jquery ajax提交表单几种方法详解
    http协议和web本质
    XHR——XMLHttpRequest对象
    恢复sudo的权限的命令
    ThinkPHP导入Excel文件(使用PHPExcel)
    怎样用U盘安装Ubuntu系统/ubuntu系统怎么安装
    kohana(3.2)和gleez(1.1.5)的安装
    mysql 的卸载、再安装与常用命令
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232227.html
Copyright © 2011-2022 走看看