Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

多态c++定义

作者:屰兲洏垳&   发布日期:2026-05-15   浏览:65

#include <iostream>
using namespace std;

// 定义一个基类
class Animal {
public:
    // 虚函数,用于实现多态
    virtual void sound() {
        cout << "Animal makes a sound" << endl;
    }
};

// 派生类1
class Dog : public Animal {
public:
    // 重写基类的虚函数
    void sound() override {
        cout << "Dog barks" << endl;
    }
};

// 派生类2
class Cat : public Animal {
public:
    // 重写基类的虚函数
    void sound() override {
        cout << "Cat meows" << endl;
    }
};

int main() {
    Animal* myAnimal;
    Dog myDog;
    Cat myCat;

    myAnimal = &myDog;
    myAnimal->sound();  // 输出: Dog barks

    myAnimal = &myCat;
    myAnimal->sound();  // 输出: Cat meows

    return 0;
}

解释说明:

  • 多态 是面向对象编程中的一个重要概念,它允许通过基类的指针或引用来调用派生类中重写的方法。
  • 在上面的代码中,Animal 类是一个基类,包含一个虚函数 sound()DogCat 类继承自 Animal 并重写了 sound() 方法。
  • main() 函数中,我们使用了基类指针 Animal* 来指向不同派生类的对象 (DogCat)。当调用 sound() 方法时,实际调用的是派生类中重写的方法,这就是多态的体现。

上一篇:c++爬虫

下一篇:c++ 字符串分割

大家都在看

c++闭包

c++向上取整的代码

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++怎么输入字符串

c++ functional

c++框架代码

c++格式化字符串

c++ orm框架

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站