在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方法,实现了多态。
通过多态,我们可以在运行时确定调用的方法是父类的方法还是子类的方法,从而实现动态绑定。这种机制可以增加代码的灵活性和可扩展性。