• c++day6


    1.思维导图

    2.编程题

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

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

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

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

    具体过程如下:

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

    1. #include
    2. using namespace std;
    3. class Animal
    4. {
    5. private:
    6. string name;
    7. public:
    8. Animal() {}
    9. virtual void perform()
    10. {
    11. cout <<"妈妈,那是什么动物" <
    12. }
    13. };
    14. class Tiger:public Animal
    15. {
    16. public:
    17. Tiger(){}
    18. void perform()
    19. {
    20. cout << "老虎" <
    21. }
    22. };
    23. class Monkey:public Animal
    24. {
    25. public:
    26. Monkey(){}
    27. void perform()
    28. {
    29. cout << "猴子" <
    30. }
    31. };
    32. class Elephant:public Animal
    33. {
    34. public:
    35. Elephant(){}
    36. void perform()
    37. {
    38. cout << "大象" <
    39. }
    40. };
    41. class Loser:public Animal
    42. {
    43. public:
    44. Loser(){}
    45. void perform()
    46. {
    47. cout << "那是废物!哈哈哈一个玩笑(o゜▽゜)o☆孩子你不要变成那样哦~" <
    48. }
    49. };
    50. int main()
    51. {
    52. Animal *A;
    53. Tiger t;
    54. Monkey m;
    55. Elephant e;
    56. Loser l;
    57. A = &t;
    58. A->perform();
    59. A =&m;
    60. A->perform();
    61. A= &e;
    62. A->perform();
    63. A= &l;
    64. A->perform();
    65. return 0;
    66. }

  • 相关阅读:
    再出发感怀
    23 行为型模式-迭代器模式
    排序算法-堆排序和TopK算法
    Java练习题 二
    pull request
    游戏找不到msvcr100dll怎么办,分享5个有效修复方法
    优化模型验证关键代码20:时间依赖成功访问概率的车辆路径问题
    maven基本配置
    PointNet/Pointnet++训练及测试
    brief note-2022
  • 原文地址:https://blog.csdn.net/m0_72133977/article/details/133797755