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;
    }


  • 相关阅读:
    决策树算法小结
    低配置电脑播放 flash 视频时 占 cpu 资源过高的解决方法
    ts tp 高清播放软件 Elecard MPEG Player 6.0.130827
    KBS2 SBS MBC 高清播放地址 + mplayer 播放 录制
    MPlayer-ww 增加边看边剪切功能
    MPlayer 增加边看边剪切功能
    -fomit-frame-pointer 编译选项在gcc 4.8.2版本中的汇编代码研究
    ffplay mini 媒体播放器
    libavcodec/dxva2.h:40:5: error: unknown type name 'IDirectXVideoDecoder'
    ARGB32 to YUV12 利用 SDL1.2 SDL_ttf 在视频表面输出文本
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232227.html
Copyright © 2011-2022 走看看