#include<iostream>
using namespace std;int flag=0;
char a[]="小鸡哔哔~bi~哟";
char b[]="小鸡哔哔哔哔~bi~哟";void fa1() {cout<<a<<endl;}
void fa2() {cout<<b<<endl;}
void fa()  {cout<<a<<endl<<b<<endl;}
void fb()  {cout<<b<<endl<<a<<endl;}
void fc()  {cout<<b<<endl<<a<<endl<<b<<endl;}
void fd()  {cout<<b<<endl<<a<<endl<<b<<endl;}class xiao_ji
{
public:virtual void f1(){cout<<"你看那里有个小鸡哟"<<endl<<"你看那里它有小鸡哟"<<endl;}virtual void f2()const{if(flag==0){fa();fa();fa();}else if(flag==1){fb();fb();fa2();}else if(flag==2){fa();fa();}else if(flag==3){fb();fa2();}else if(flag==4){fa();fa();}else if(flag==5){fb();fa2();}else if(flag==6){fa();fa();}else if(flag==7){fb();fa2();}else if(flag==8){fa();fa();}else if(flag==9){fb();fb();fa2();}else if(flag==10){fb();fa2();fa2();}flag++;}virtual void f3()const{}
};class mu_ji:public xiao_ji
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有母鸡哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"母鸡咯咯咯咯咯~go~"<<endl;}
};class gong_ji:public mu_ji
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有公鸡哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"公鸡喔喔喔喔喔~wo~"<<endl;this->mu_ji::f3();}
};class huo_ji:public gong_ji
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有火鸡哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"火鸡嘟嘟嘟嘟嘟~du~"<<endl;this->gong_ji::f3();}
};class ge_zi:public huo_ji
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有鸽子哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"鸽子图噜噜噜噜~lu~"<<endl;this->huo_ji::f3();}
};class mao_mi:public ge_zi
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有猫咪哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"猫咪喵喵喵喵喵~miao~"<<endl;this->ge_zi::f3();}
};class xiao_gou:public mao_mi
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有小狗哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"小狗旺旺旺旺旺~wang~"<<endl;this->mao_mi::f3();}
};class shan_yang:public xiao_gou
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有山羊哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"山羊咩~mie~"<<endl;this->xiao_gou::f3();}
};class mian_yang:public shan_yang
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有绵羊哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"绵羊咇~bie~"<<endl;this->shan_yang::f3();}
};class mu_niu:public mian_yang
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有母牛哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"母牛萌~meng~"<<endl;this->mian_yang::f3();}
};class gong_niu:public mu_niu
{
public:virtual void f1(){for(int i=0;i<2;i++)cout<<"你看那里又有公牛哟"<<endl;}virtual void f2()const{this->xiao_ji::f2();}virtual void f3()const{cout<<"公牛呣~mu~"<<endl;this->mu_niu::f3();}
};class tuo_laji:public xiao_ji
{
public:virtual void f1(){}void f2()const{for(int i=0;i<2;++i)cout<<"你看那里有拖拉机哟"<<endl;for(int i=0;i<3;++i)cout<<"拖拉机嗡~weng~"<<endl;cout<<"小鸡被撞 喔 啊喔~"<<endl;}
};int main()
{xiao_ji* p[12];p[0]=new xiao_ji;p[1]=new mu_ji;p[2]=new gong_ji;p[3]=new huo_ji;p[4]=new ge_zi;p[5]=new mao_mi;p[6]=new xiao_gou;p[7]=new shan_yang;p[8]=new mian_yang;p[9]=new mu_niu;p[10]=new gong_niu;p[11]=new tuo_laji;for(int i=0;i<12;++i){p[i]->f1();p[i]->f3();p[i]->f2();cout<<endl;}delete []p;return 0;
}

由于歌词过长,直接截取了最后一部分

利用C++多态实现 “小鸡哔哔”的歌词相关推荐

  1. 小鸡哔哔。。最有逻辑的歌词,听过脑洞大开

    /* 你看哪里有个小鸡呦1 你看那里他有小鸡哟小鸡哔哔-bi-哟 小鸡哔哔哔哔-bi-哟 小鸡哔哔-bi-哟 小鸡哔哔哔哔-bi-哟 小鸡哔哔-bi-哟 小鸡哔哔哔哔-bi-哟 //--------- ...

  2. 【大数据哔哔集20210112】Sorry,Hbase的LSM Tree真的可以为所欲为!

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多惊喜 我们先抛出一个问题: LSM树是HBase里使用的非常有创意的一种数据结构.在有代表性的关系型数据 ...

  3. Winform打砖块游戏制作step by step第5节---重构代码,利用继承多态

    一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 二 本节内容---重构代码,利用继承多态 1. 主界面截图如下: 2.  ...

  4. 大数据每日哔哔、新征程

    精选30+云产品,助力企业轻松上云!>>> 新征程 为什么要写这个号.目前从事大数据开发,积极探索.相关领域知识.之前从事金融领域的开发,也会分享理财常识. 一来,这里只能自己发帖, ...

  5. 【大数据哔哔集20210124】有人问我Kafka Leader选举?我真没慌

    一条消息只有被ISR中所有Follower都从Leader复制过去才会被认为已提交.这样就避免了部分数据被写进了Leader,还没来得及被任何Follower复制就宕机了,而造成数据丢失.而对于Pro ...

  6. 电脑如何批量下载哔哔视屏_我是电脑哔哔哔哔哔

    电脑如何批量下载哔哔视屏 编者的信 (Letter from the Editor) Here's my routine these days: I wake up at about 7:30 a.m ...

  7. 关闭centos7下哔哔声

    使用VMware安装的centos7虚拟机有时在提示和删除时会发出哔哔哔的声音,此时再也忍不了了,开始尝试关闭这让我心烦的声音.这个声音并不是声卡发出的,而是主板的蜂鸣器发出的,所以不能通过关闭音箱来 ...

  8. linux发出声音的命令,在Linux中发出哔哔声C

    我想使用系统蜂鸣器(并且只有扬声器,如果蜂鸣器不可用/可访问),生成具有特定频率和长度(针对不同声音信号)的蜂鸣声.我知道可以通过使用ioctl来完成此操作,但这需要root访问权限,我不想这样做.在 ...

  9. 关闭Linux哔哔声

    方法一: 登陆linux系统 修改vim /etc/inputrc 找到set bell-style none 将前面的#去掉,之后重启系统即可解决操作命令行时tab键和backspace键的声音问题 ...

最新文章

  1. idea下的工具栏中services不见了,怎么调出来?
  2. 你真会IDEA的调试功能吗?这4个技巧带你起飞!
  3. 如何通过其他主机查看Apahce服务器的运行状态
  4. vc 查看硬盘盘符剩余空间
  5. 华为内部面试题库---(6)
  6. php的create_function、function_exists判断函数是否存在
  7. springboot版本升级导致webservice调用失败org.apache.cxf.common.jaxb.JAXBUtils.createMininumEscapeHandle
  8. Python实现Wordcloud生成词云图的示例
  9. 句句真研—每日长难句打卡Day15
  10. car-like robot与两轮差速驱动机器人异同分析
  11. 生产者和消费者问题变形
  12. Tensor flow 实战Google深度学习框架 笔记摘要Pthree(二)
  13. python各种源码下载
  14. 第一章 绪论 1.2 时域采样定理及其应用
  15. 使用快解析一招解决电脑dns异常问题
  16. 论文阅读笔记《Meta-Learning with Memory-Augmented Neural Networks》
  17. Addressable资源热更新疑问
  18. [转摘]如何让你的计算机无线网卡和有线网卡同时使用
  19. 玩转华为ENSP模拟器系列 | 配置OSPF多进程
  20. Qt编写自定义控件:彩色渐变圆角按钮之二

热门文章

  1. 随机密码生成(由26个字母大小写和9个数字组成的列表中随机生成10个8位密码)
  2. RS和datacom区别?HCIE马上迎来变化
  3. 显卡驱动安装不了如何解决
  4. 年挖洞超过300个,奖金收入过百万,2021白帽人才报告新鲜出炉!
  5. 小丑Joker.one以及生态
  6. 计算机办公软件应用免费视频,最良心的5款电脑办公软件
  7. CDCE913产生任意频率
  8. 鹰眼智客大数据带来的商业改变!
  9. html中jquery导入excel,jquery读取本地excle里的数据
  10. 时间转换格式比较大小