当前位置:首页 C++ > 正文

c++ 类的继承和多态例子

作者:野牛程序员:2023-07-01 09:29:46 C++阅读 2644

当谈论C++的类的继承和多态时,一个经典的例子是动物类(Animal)及其派生类狗类(Dog)和猫类(Cat)。以下是一个简单的示例代码:

#include <iostream>
using namespace std;

// 基类
class Animal {
public:
    virtual void makeSound() {
        cout << "动物发出声音" << endl;
    }
};

// 派生类1
class Dog : public Animal {
public:
    void makeSound() {
        cout << "狗发出汪汪声" << endl;
    }
};

// 派生类2
class Cat : public Animal {
public:
    void makeSound() {
        cout << "猫发出喵喵声" << endl;
    }
};

int main() {
    Animal* animal;
    Dog dog;
    Cat cat;

    // 使用基类指针指向派生类对象,实现多态
    animal = &dog;
    animal->makeSound(); // 输出:狗发出汪汪声

    animal = &cat;
    animal->makeSound(); // 输出:猫发出喵喵声

    return 0;
}

在上面的示例中,我们定义了一个基类Animal,它有一个虚函数makeSound()。然后,我们创建了两个派生类Dog和Cat,并分别重写了makeSound()函数。

在主函数中,我们使用基类指针animal来指向派生类对象。通过将派生类对象的地址赋值给基类指针,我们实现了多态。然后,我们通过调用animal->makeSound()来调用相应的派生类对象的函数。

在运行时,程序根据指针指向的实际对象类型,调用相应的派生类对象的函数,从而实现了多态。输出结果将根据所指向的对象类型而不同。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击