c++

C++中Instance的多态使用技巧

小樊
115
2024-07-26 14:20:12
栏目: 编程语言

在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类,并且派生了DogCat类,它们都重写了makeSound方法。在main函数中,我们创建了两个Animal类的实例,分别指向DogCat对象,然后通过指针调用makeSound方法,实现了多态。

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

0
看了该问题的人还看了