【嵌入式学习】C++&QT-Day6-C++基础

作业:

1.思维导图

见我的博客:https://lingjun.life/wiki/EmbeddedNote/19Cpp

2.编程题:

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

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

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

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

具体过程如下:

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

cpp 复制代码
#include <iostream>

using namespace std;

class Animal
{
public:
    Animal(){}

    virtual void perform()=0;
};

class Dog:public Animal
{
private:
    string name;
public:
    Dog(){}
    Dog(string n):name(n)
    {}
    void perform()
    {
        cout << "这是狗" << endl;
    }
};

class Cat:public Animal
{
private:
    string name;
public:
    Cat(){}
    Cat(string n):name(n)
    {}
    void perform()
    {
        cout << "这是猫" << endl;
    }
};




int main()
{
    Animal *p;
    Dog d("lala");
    Cat c("nana");
    p=&d;
    p->perform();
    p=&c;
    p->perform();
    return 0;
}
相关推荐
AOwhisky17 小时前
Redis 学习笔记(第三期):持久化与主从复制
运维·数据库·redis·笔记·学习·云计算
玖玥拾17 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
Tbisnic18 小时前
AI大模型学习第十一天:技术选型、安全防护与金融实战
python·学习·ai·大模型·提示词工程
Roann_seo%18 小时前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++
坚果派·白晓明19 小时前
【鸿蒙PC】SDL3 适配:AtomCode + Skills 快速集成 NAPI 测试工具
c++·华为·ai编程·harmonyos·atomcode
xmtxz19 小时前
计算机网络基础课程学习心得:从理论抽象到硬核实战的进阶之路
运维·学习
凡人叶枫19 小时前
Effective C++ 条款17:以独立语句将 newed 对象置入智能指针
java·linux·开发语言·c++·算法
YM52e20 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
凡人叶枫21 小时前
Effective C++ 条款16:成对使用 new 和 delete 时要采取相同形式
开发语言·c++·effective c++
不吃土豆的马铃薯21 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++