在 C++ 中,通过继承实现多态性,允许对象具有不同的行为,即便它们具有相同的公共基类。继承是一种创建新类的方法,其中新类(派生类)从现有类(基类)继承成员,并可以添加新成员。当使用派生类类型的指针或引用调用虚函数时,会调用派生类中重写的方法。
什么是多态性?
多态性允许对象具有不同的行为,即便它们具有相同的公共基类。在 C++ 中,使用继承实现多态性。
继承
继承是创建类的新方法的方法,其中新类(派生类)从现有类(基类)继承。派生类继承基类的所有成员(数据和函数),还可以添加自己的新成员。
多态性是如何通过继承实现的?
在多态性中,派生类对象可以指向其基类类型的指针或引用。当使用派生类类型的指针或引用调用虚函数时,会调用派生类中重写的方法。
示例:
class Animal { public: virtual void makeSound() { cout << "Animal makes a sound" << endl; } }; class Dog : public Animal { public: void makeSound() override { cout << "Woof woof!" << endl; } }; class Cat : public Animal { public: void makeSound() override { cout << "Meow meow!" << endl; } }; int main() { Animal* animal = new Cat(); // 指向 Cat 对象的 Animal 指针 animal->makeSound(); // 输出 "Meow meow!" }
在上面示例中:
Animal
是基类。Dog
和 Cat
是派生类。makeSound
是一个虚函数,在派生类中重写。animal
是一个指向派生类对象的基类指针。当调用 animal->makeSound()
时,会调用派生类(Cat
)中重写的 makeSound
方法,输出 "Meow meow!"。
以上是C++ 中继承如何实现多态性?的详细内容。更多信息请关注PHP中文网其他相关文章!