动物叫声
来源:互联网 发布:apache 配置 编辑:程序博客网 时间:2024/04/27 21:59
/* 02.* Copyright (c) 2013, 烟台大学计算机学院 03.* All rights reserved. 04.* 文件名称:test.cpp 05.* 作者:刘明亮 06.* 完成日期:2013 年 5 月 31 日 07.* 版本号:v1.0 09.* 输入描述:无 10.* 问题描述:以Animal类为基类,把动物的叫声cry定义成虚函数,输出各种动物的叫声 11.* 程序输出: 12.* 问题分析: 13.* 算法设计:略 14.*/ #include <iostream>#include<string>using namespace std;class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; } //virtual string name()const; //virtual char sex()const;};class Mouse:public Animal{public: Mouse(string na,char s):name(na),sex(s){} void cry();private: string name; char sex;};void Mouse::cry(){ cout<<"我叫"<<name<<",是一只"; if(sex=='m') cout<<"男"; else cout<<"女"; cout<<"老鼠,"<<"我的叫声是:吱吱吱!\n";}class Cat:public Animal{public: Cat(string na):name(na){} void cry() { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!\n"; }private: string name;};class Dog:public Animal{public: Dog(string na):name(na){} void cry() { cout<<"我叫"<<name<<",是一只狗,我的叫声是:旺旺旺!\n"; }private: string name;};class Giraffe:public Animal{public: Giraffe(string na,char s):name(na),sex(s){} void cry();private: string name; char sex;};void Giraffe::cry(){ cout<<"我叫"<<name<<",是一只"; if(sex=='m') cout<<"男"; else cout<<"女"; cout<<"长颈鹿,"<<"我的脖子太长,发不出声音来!\n";}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;}