如何深入探讨虚函数的运用技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1632个文字,预计阅读时间需要7分钟。
目录
一、虚函数
二、虚函数与纯虚函数的区别
三、动态多态
四、虚函数作用和原理、纯虚函数与虚函数的区别
一、虚函数
首先来看下面这段代码,创建两个类,Dog和Cat,并定义一个函数用于展示它们的叫声:cppclass Animal {public: virtual void makeSound()=0; // 纯虚函数};
class Dog : public Animal {public: void makeSound() override { std::cout << Woof! < class Cat : public Animal {public: void makeSound() override { std::cout << Meow! < int main() { Animal *animal1=new Dog(); Animal *animal2=new Cat(); animal1->makeSound(); // 输出:Woof! animal2->makeSound(); // 输出:Meow! delete animal1; delete animal2; return 0;} 在上面的代码中,`Animal` 类定义了一个纯虚函数 `makeSound()`,这意味着任何继承自 `Animal` 的类都必须实现这个函数。`Dog` 和 `Cat` 类继承自 `Animal` 并分别实现了 `makeSound()` 函数。
本文共计1632个文字,预计阅读时间需要7分钟。
目录
一、虚函数
二、虚函数与纯虚函数的区别
三、动态多态
四、虚函数作用和原理、纯虚函数与虚函数的区别
一、虚函数
首先来看下面这段代码,创建两个类,Dog和Cat,并定义一个函数用于展示它们的叫声:cppclass Animal {public: virtual void makeSound()=0; // 纯虚函数};
class Dog : public Animal {public: void makeSound() override { std::cout << Woof! < class Cat : public Animal {public: void makeSound() override { std::cout << Meow! < int main() { Animal *animal1=new Dog(); Animal *animal2=new Cat(); animal1->makeSound(); // 输出:Woof! animal2->makeSound(); // 输出:Meow! delete animal1; delete animal2; return 0;} 在上面的代码中,`Animal` 类定义了一个纯虚函数 `makeSound()`,这意味着任何继承自 `Animal` 的类都必须实现这个函数。`Dog` 和 `Cat` 类继承自 `Animal` 并分别实现了 `makeSound()` 函数。

