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
