动物这样叫

yangykaifa yangykaifa     2022-09-09     199

关键词:

 要求1代码:

/*
*Copyright (c)2015,烟台大学计算机与控制project学院
*All rights reserved.
*文件名:sum123.cpp
*作    者:林海云
*完毕日期:2015年6月12日
*版 本 号:v2.0
*
*问题描写叙述:依据给出的main()函数和执行结果的提示,设计出相关的各个类,注意观察执行结果,提取出每一个类中须要的数据成员,并匹配上须要的成员函数。
*程序输入:无
*程序输出:输出要求的执行结果
*/
#include<iostream>
using namespace std;
class Animal
{
public:
    virtual void cry()
    {
        cout<<"不知哪种动物,让我怎样学叫?"<<endl;
    }
};
class Mouse : public Animal
{
private:
    string name;
    char sex;
public:
    Mouse(string nam, char s):name(nam),sex(s) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<"。是一仅仅"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl;
    }
};
class Cat : public Animal
{
private:
    string name;
public:
    Cat(string nam):name(nam) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<"。是一仅仅猫。我的叫声是:喵喵喵!"<<endl;
    }
};
class Dog : public Animal
{
private:
    string name;
public:
    Dog(string nam):name(nam) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是一条狗。我的叫声是:汪汪汪!"<<endl;
    }
};
class Giraffe : public Animal
{
private:
    string name;
    char sex;
public:
    Giraffe(string nam,char s):name(nam), sex(s) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是"<<((sex=='m')?"男":"女")<<"长颈鹿,我的脖子太长,发不出声音来!

"<<endl; } }; int main( ) { Animal *p; p = new Animal(); p->cry(); Mouse m1("Jerry",'m'); p=&m1; p->cry(); Mouse m2("Jemmy",'f'); p=&m2; p->cry(); Cat c1("Tom"); p=&c1; p->cry(); Dog d1("Droopy"); p=&d1; p->cry(); Giraffe g1("Gill",'m'); p=&g1; p->cry(); return 0; }


执行结果:

技术分享


要求二代码:

/*
*Copyright (c)2015,烟台大学计算机与控制project学院
*All rights reserved.
*文件名:sum123.cpp
*作    者:林海云
*完毕日期:2015年6月12日
*版 本 号:v2.0
*
*问题描写叙述:显然,Animal设计为抽象类更合适,Animal不须要可以实例化,是专门作基类使用的。
           改造程序,使Animal设计为抽象类,这时main()函数中p = new Animal();将出错,将此行删除。
*程序输入:无
*程序输出:输出要求的执行结果
*/
#include <iostream>
#include <string>
using namespace std;
class Animal
{
public:
    virtual void cry() = 0;
};
class Mouse : public Animal
{
private:
    string name;
    char sex;
public:
    Mouse(string nam, char s):name(nam),sex(s) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是一仅仅"<<((sex=='m')?"公":"母")<<"老鼠,我的叫声是:吱吱吱!"<<endl;
    }
};
class Cat : public Animal
{
private:
    string name;
public:
    Cat(string nam):name(nam) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是一仅仅猫。我的叫声是:喵喵喵!"<<endl;
    }
};
class Dog : public Animal
{
private:
    string name;
public:
    Dog(string nam):name(nam) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪。"<<endl;
    }
};
class Giraffe : public Animal
{
private:
    string name;
    char sex;
public:
    Giraffe(string nam,char s):name(nam), sex(s) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<"。是"<<((sex=='m')?"公":"母")<<"长颈鹿。我的脖子太长,发不出声音来!"<<endl;
    }
};
int main( )
{
    Animal *p;
    Mouse m1("Jerry",'m');
    p=&m1;
    p->cry();
    Mouse m2("Jemmy",'f');
    p=&m2;
    p->cry();
    Cat c1("Tom");
    p=&c1;
    p->cry();
    Dog d1("Droopy");
    p=&d1;
    p->cry();
    Giraffe g1("Gill",'m');
    p=&g1;
    p->cry();
    return 0;
}

执行结果:

技术分享

要求三代码:

/*
*Copyright (c)2015,烟台大学计算机与控制project学院
*All rights reserved.
*文件名:sum123.cpp
*作    者:林海云
*完毕日期:2015年6月12日
*版 本 号:v2.0
*
*问题描写叙述:每个Animal的派生类都有一个“名字”数据成员。这一共同拥有的成员全然能够由基类提供改造上面的程序,将这一数据成员作为抽象类Animal数据成员被各派生类使用。
*程序输入:无
*程序输出:输出要求的执行结果
*/
#include <iostream>
#include <cstring>
using namespace std;
class Animal
{
    protected:
    string name;
public:
    Animal(string nam):name(nam){}
    virtual void cry() = 0;
};
class Mouse : public Animal
{
private:
    char sex;
public:
    Mouse(string nam, char s):Animal(nam),sex(s) {}
    virtual void cry()
    {
        cout<<"我叫"<<name<<",是一仅仅"<<((sex=='m')?

"公":"母")<<"老鼠,我的叫声是:吱吱吱。"<<endl; } }; class Cat : public Animal { public: Cat(string nam):Animal(nam) {} virtual void cry() { cout<<"我叫"<<name<<"。是一仅仅猫,我的叫声是:喵喵喵。"<<endl; } }; class Dog : public Animal { public: Dog(string nam):Animal(nam) {} virtual void cry() { cout<<"我叫"<<name<<"。是一条狗,我的叫声是:汪汪汪!

"<<endl; } }; class Giraffe : public Animal { private: char sex; public: Giraffe(string nam,char s):Animal(nam), sex(s) {} virtual void cry() { cout<<"我叫"<<name<<",是"<<((sex=='m')?"公":"母")<<"长颈鹿。我的脖子太长,发不出声音来!"<<endl; } }; int main( ) { Animal *p; Mouse m1("Jerry",'m'); p=&m1; p->cry(); Mouse m2("Jemmy",'f'); p=&m2; p->cry(); Cat c1("Tom"); p=&c1; p->cry(); Dog d1("Droopy"); p=&d1; p->cry(); Giraffe g1("Gill",'m'); p=&g1; p->cry(); return 0; }


执行结果:

技术分享








动物这样叫

 要求1代码:/**Copyright(c)2015,烟台大学计算机与控制project学院*Allrightsreserved.*文件名:sum123.cpp*作者:林海云*完毕日期:2015年6月12日*版本号:v2.0**问题描写叙述:依据给出的main()函数和执行结果的提示,设计出相关的各个类... 查看详情

java动物特性的面向对象描述项目

...NIMAL类,待征有name,mammal,carnivorous,mood,用来实现如:狗是哺乳动物狗是肉食动物狗通常的情况下,和人打招呼的方式为:摇摇尾巴狗被抚摸情绪好的时候,打招呼的方式是:旺旺叫狗烦躁的时候会:呜呜叫狗有4条腿只能用面向对象,不能用... 查看详情

课堂练习(nabcdmodel)

1.Needapp叫宠物之家。现在许多流浪狗、猫等动物没有自己的家,这款app为流浪的动物找到属于自己的家2.Approach与一些流浪动物救助协会合作,将流浪动物进行救助、护理,再将它们的信息放在app上以低固定价格出售,并提供养... 查看详情

zookeeper基础

...段趣闻。在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家RaghuRamakrishnan开玩笑地说:“在这样下去,我们这... 查看详情

[转]zookeeper系列

一、ZooKeeper的背景1.1认识ZooKeeperZooKeeper---译名为“动物园管理员”。动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被动物所观赏... 查看详情

动物园(代码片段)

动物园发现分析dp的题目时不能想当然的状态然后向状态转移,那样的话真的很难搞.这个时候就要从集合的角度分析问题。(这里感谢yxc大佬的方法了.)题目要求我们将若干个动物移走,也就是说每个动物有移或不移的选择,那总共... 查看详情

3.1动物的语言

3自然语言3.1动物的语言语言是人类独有的吗?很常见,狼、狗、猫、狮等各种兽类,鲸鱼、海豚等等都通过它们的声音——不一定在人类的音域范围——进行交流,维系它们的组织。动物的口语典型地是一、二个音... 查看详情

zookeeper客户端curator使用详解

...的分布式协调框架。在立项初期,考虑到很多项目都是用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家RaghuRamakrishnan开玩笑说:再这样下去,我们这儿就... 查看详情

java编程实现类的继承与多态写一个动物类。成员变量为动物的种类,成员方法是动物叫声。

感觉写得够详细了,如果不懂M我abstractclassAnimal//动物的种类用变量n表示Stringn;//动物的声音用变量s表示Strings;//在这里声明了一个抽象方法talkpublicabstractStringtalk();//这里Cat类继承自Animal类,体现了类的继承的特性classCatextendsAnimalpub... 查看详情

java多态

...一个方法时,如果我们希望它能够通用,例如要实现一个动物叫的方法,我们可以在方法中接收一个动物类型的参数,当传入猫类对象时就发出猫叫,传入其他动物类型时就发出其相应的叫声。在同一个方法中,这种由于参数类... 查看详情

这样的加密算法叫什么?

...,但大于10时减去10,得到(用a的第一位数加b的第一位数这样依次加下去)873324638443925150288673973=c这样的一串 查看详情

请编程实现动物世界的继承关系

用JAVA请编码实现动物世界的继承关系:动物(Animal)具有行为:吃(eat)、睡觉(sleep)动物包括:兔子(Rabbit),老虎(Tiger)这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉的行为是一致的。请通过继承实现以... 查看详情

java中的抽象类

/*知识点:抽象类实例:    定义一个抽象动物类Animal,提供抽象方法叫cry(),猫、狗都是动物类的子类,    由于cry()为抽象方法,所以Cat、Dog必须要实现cry()方法。如下:*///定义抽象动物类Animalabstra... 查看详情

java—面向对象编程

...时,会发现他们之间存在相同的属性和方法,如设计一个动物表示类:像这样的代码就存在了大量的冗余代码,仔细分析会发现这三个类有相同的eat方法和相同的name属性。从逻辑上分析,Cat和Bird都是Animal,我们就可以让两者继... 查看详情

类型转换

 我们经常说“老虎??是动物”,“狗是动物”等。若动物类是老虎类的父类,这样说当然正确,因为人们习惯地称子类与父类的关系是“is-a”的关系。但要注意的是,当说老虎是动物时,老虎将失掉老虎独有的属性和功能。... 查看详情

如何理解“针对接口编程,而不是针对实现编程”?

...是针对实现编程”这句话呢,感激不尽,呵呵追答interface动物void叫();class狗implements动物void叫()System.out.println("汪");class猫implements动物void叫()System.out.println("喵");cla 查看详情

如何从github下载流浪动物代码

您好,从GitHub下载流浪动物代码的方法如下:1.首先,您需要在GitHub上注册一个账号,并登录。2.然后,您需要在GitHub上搜索流浪动物代码,找到想要下载的代码。3.接下来,您需要点击“Cloneordownload”按钮,将代码克隆到本地。... 查看详情

R: 像 %in% 这样的操作符叫啥,我如何了解它们?

】R:像%in%这样的操作符叫啥,我如何了解它们?【英文标题】:R:Whatareoperatorslike%in%calledandhowcanIlearnaboutthem?R:像%in%这样的操作符叫什么,我如何了解它们?【发布时间】:2014-09-3012:20:39【问题描述】:我知道==和!=之类的基本知... 查看详情