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

c++多态

作者:刎心封爱为伱锁情   发布日期:2025-07-26   浏览:93

#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* animal1 = new Dog();
    Animal* animal2 = new Cat();

    // 多态调用
    animal1->sound();  // 输出: Dog barks
    animal2->sound();  // 输出: Cat meows

    delete animal1;
    delete animal2;

    return 0;
}

解释说明:

  1. 基类 Animal:定义了一个虚函数 sound(),这是实现多态的关键。虚函数允许派生类重写该函数。
  2. 派生类 DogCat:分别继承自 Animal 类,并重写了 sound() 函数,实现了不同的行为。
  3. 多态调用:在 main 函数中,使用基类指针指向派生类对象,调用 sound() 函数时,实际调用的是派生类中的实现,而不是基类中的实现。

通过这种方式,程序可以根据对象的实际类型动态地调用相应的函数,这就是 C++ 中的多态特性。

上一篇:getline在c++中怎么用

下一篇:c++小游戏编程代码

大家都在看

c++闭包

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

c++ 注释

c++如何判断素数

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

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

Laravel 中文站