2013 第十四周上机任务 项目一 动物的叫声
来源:互联网 发布:flac刻录cd软件 编辑:程序博客网 时间:2024/04/30 20:24
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:樊露露 * 完成日期:2013 年 5 月 31 日 * 版本号:v1.0 * * 输入描述:无 * 问题描述:以Animal类为基类,把动物的叫声cry定义成虚函数,输出各种动物的叫声 * 程序输出:* 问题分析: * 算法设计:略 */ #include <iostream>#include<string>using namespace std;class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; }};class Mouse:public Animal{public: //Mouse():name(0),sex(0) {}; Mouse(string name0,char sex0):name(name0),sex(sex0) {}; void cry();private: string name; char sex;};void Mouse::cry(){ if(sex=='m') cout<<"我叫"<<name<<","<<"是一只男老鼠,我的叫声是:吱吱吱!"<<endl; else cout<<"我叫"<<name<<","<<"是一只女老鼠,我的叫声是:吱吱吱!"<<endl;}class Cat:public Animal{public: Cat(string name0):name(name0) {}; void cry();private: string name;};void Cat::cry(){ cout<<"我叫"<<name<<","<<"是一只猫,我的叫声是:喵喵喵!"<<endl;}class Dog:public Animal{public: Dog(string name0):name(name0) {}; void cry();private: string name;};void Dog::cry(){ cout<<"我叫"<<name<<","<<"是一只狗,我的叫声是:汪汪汪!"<<endl;}class Giraffe:public Animal{public: //Mouse():name(0),sex(0) {}; Giraffe(string name0,char sex0):name(name0),sex(sex0) {}; void cry();private: string name; char sex;};void Giraffe::cry(){ if(sex=='m') cout<<"我叫"<<name<<","<<"是一只男长颈鹿,我的脖子太长,发不出声音来!"<<endl; else cout<<"我叫"<<name<<","<<"是一只女长颈鹿,我的脖子太长,发不出声音来!"<<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;}