阅读量:0
在C++中,可以通过指针或引用来实现多态,实现多态的前提是父类至少要有一个虚函数。下面是一个简单的例子来说明Instance的多态使用技巧:
#include <iostream> class Animal { public: virtual void makeSound() { std::cout << "Animal makes a sound" << std::endl; } }; class Dog : public Animal { public: void makeSound() override { std::cout << "Dog barks" << std::endl; } }; class Cat : public Animal { public: void makeSound() override { std::cout << "Cat meows" << std::endl; } }; int main() { Animal* animal1 = new Dog(); Animal* animal2 = new Cat(); animal1->makeSound(); animal2->makeSound(); delete animal1; delete animal2; return 0; }
在上面的例子中,我们定义了一个Animal
类,并且派生了Dog
和Cat
类,它们都重写了makeSound
方法。在main
函数中,我们创建了两个Animal
类的实例,分别指向Dog
和Cat
对象,然后通过指针调用makeSound
方法,实现了多态。
通过多态,我们可以在运行时确定调用的方法是父类的方法还是子类的方法,从而实现动态绑定。这种机制可以增加代码的灵活性和可扩展性。