首页 > 其他分享 >第13周项目1-动物这样叫(1)

第13周项目1-动物这样叫(1)

时间:2023-08-14 11:06:15浏览次数:47  
标签:13 g1 项目 cry 动物 m1 m2 c1 d1


问题描述:

根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。
下面是给出的基类Animal声明和main()函数。

class Animal
{
public:
  virtual void cry()
    {
      cout<<"不知哪种动物,让我如何学叫?"<<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;
}

 

代码:

#include <iostream>
#include <cstring>
using namespace std;
class Animal
{
public:
  virtual void cry()
    {
      cout<<"不知哪种动物,让我如何学叫?"<<endl;
    }
};
class Mouse:public Animal
{
protected:
    char name[10];
    char sex;
public:
    Mouse(char *n,char s)
    {
        strcpy(name,n);
        sex=s;
    }
    void cry()
    {
        cout<<"我叫"<<name<<",是一只";
        if(sex=='m')
            cout<<"男";
        else cout<<"女";
        cout<<"老鼠,我的叫声是:吱吱吱!"<<endl;
    }
};
class Cat:public Animal
{
protected:
    string name;
public:
    Cat(string nam):name(nam){}
    void cry()
    {
        cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;
    }
};
class Dog:public Animal
{
protected:
    string name;
public:
    Dog(string nam):name(nam){}
    void cry()
    {
        cout<<"我叫"<<name<<"是一条狗,我的叫声是:汪汪汪!"<<endl;
    }
};
class Giraffe:public Animal
{
protected:
    string name;
    char sex;
public:
    Giraffe(string nam,char s):name(nam),sex(s){}
    void cry()
    {
        cout<<"我叫"<<name<<",是";
        if(sex=='m')
            cout<<"男";
        else cout<<"女";
        cout<<"长颈鹿,我脖子太长,发不出声来!"<<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;
}

 

运行结果:

第13周项目1-动物这样叫(1)_#include

标签:13,g1,项目,cry,动物,m1,m2,c1,d1
From: https://blog.51cto.com/u_16225007/7074027

相关文章

  • 第9周项目4-乘法表口诀
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE19.cpp*作者:孙化龙*完成日期:2014年10月27日*版本号:v1.0**问题描述:输出星号图*输入描述:无*输出描述:星号图*/#include<iostream>usingnamespacestd;int......
  • 第9周项目5-程序填充图(1)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE20.cpp*作者:孙化龙*完成日期:2014年10月27日*版本号:v1.0**问题描述:输出1000以内能被3整除且个位数为6的所有整数。*输入描述:无*输出描述:1000以内能被3整除且个......
  • 第9周项目3-输出星号图(f)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE18.cpp*作者:孙化龙*完成日期:2014年10月27日*版本号:v1.0**问题描述:输出星号图*输入描述:无*输出描述:星号图*/#include<iostream>#include<cmath>usingnam......
  • 第11周项目1-函数版型号图(1)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE33.cpp*作者:孙化龙*完成日期:2014年11月6日*版本号:v1.0**问题描述:补充程序*/#include<iostream>usingnamespacestd;voidprintstars(intm)//定义能输出一行m......
  • 第11周项目6-回文、素数(4)(5)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE44.cpp*作者:孙化龙*完成日期:2014年11月6日*版本号:v1.0**问题描述:多文件组织程序*/#include<iostream>usingnamespacestd;intreverse(intx);boolisPrime......
  • 第9周项目3-输出星号图(c)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE15.cpp*作者:孙化龙*完成日期:2014年10月27日*版本号:v1.0**问题描述:输出星号图*输入描述:无*输出描述:星号图*/#include<iostream>usingnamespacestd;int......
  • Contest1319 - 期末习题汇总(二) 计算机基础---进制转换相关
    题目描述将十进制的1234输出将八进制的1234对应其十进制数进行输出将十六进制的1234对应其十进制数进行输出输入无输出1234D=1234D1234O=668D1234H=4660D样例输出1234D=1234D1234O=668D1234H=4660D 代码:#include<iostream>#include<iomanip>usingnamespacestd;in......
  • 第17周项目1-体会函数参数传递
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE79.cpp*作者:孙化龙*完成日期:2014年12月22日*版本号:v1.0**问题描述:用指针和引用改变a和b的顺序*输入描述:无*输出描述:改变后的a和b*/#include<iostream>usin......
  • 第16周项目2-用指针玩字符串(1)
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE69.cpp*作者:孙化龙*完成日期:2014年12月11日*版本号:v1.0**问题描述:字符串连接*输入描述:无*输出描述:链接后的字符串*/#include<iostream>usingnamespacest......
  • 第14周项目5体会棋盘游戏中的数据储存
    问题及代码:/**Copyright(c)2014,烟台大学计算机学院*Allrightsreserved.*文件名称:MADE67.cpp*作者:孙化龙*完成日期:2014年12月2日*版本号:v1.0**问题描述:定义一个8行8列的二维数组a[8][8]。为二维数组中的数据赋50以内的随机数;设计函数out()、outDiagona......