• C++day6


    编程题

    以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:

    比喻:动物园的讲解员和动物表演

    想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。

    在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。

    具体过程如下:

    定义一个基类 Animal,其中有一个虛函数perform(),用于在子类中实现不同的表演行为。

    1. #include
    2. using namespace std;
    3. //封装 动物 类 --------基类
    4. class Animal
    5. {
    6. private:
    7. string species; //动物种类
    8. public:
    9. Animal() {}
    10. Animal(string species):species(species) {}
    11. virtual void perform()
    12. {
    13. cout << " 动物们开始表演了" << endl;
    14. }
    15. };
    16. //封装 不同动物的表演 类
    17. class Lion:public Animal
    18. {
    19. private:
    20. string lion;
    21. public:
    22. Lion() {}
    23. Lion(string l):lion(l) {}
    24. void perform()
    25. {
    26. cout << "狮子表演" << endl;
    27. }
    28. };
    29. class Elephant:public Animal
    30. {
    31. private:
    32. string elephant;
    33. public:
    34. Elephant() {}
    35. Elephant(string e):elephant(e) {}
    36. void perform()
    37. {
    38. cout << "大象表演" << endl;
    39. }
    40. };
    41. class Monkey:public Animal
    42. {
    43. private:
    44. string monkey;
    45. public:
    46. Monkey() {}
    47. Monkey(string m):monkey(m) {}
    48. void perform()
    49. {
    50. cout << "猴子表演" << endl;
    51. }
    52. };
    53. int main()
    54. {
    55. Lion x("lion");
    56. Elephant y("elephant");
    57. Monkey z("monkey");
    58. Animal *p;
    59. p=&x;
    60. p->perform();
    61. p=&y;
    62. p->perform();
    63. p=&z;
    64. p->perform();
    65. return 0;
    66. }

    思维导图

  • 相关阅读:
    JSON与实体类之间的互相转换!!
    QQ2 微信红包
    SwitchyOmega_Chromium插件的下载安装以及使用
    js中事件委托和事件绑定之间的区别
    Java ArrayList
    磐舟CI使用说明及案例
    尚硅谷-ShardingSphere
    三、nacos注册中心实现原理分析
    经营分析会上,销售和财务老打架,老板很抓狂,该如何解决?
    linux基本指令(上)
  • 原文地址:https://blog.csdn.net/2301_79218296/article/details/133799183