乐闻世界logo
搜索文章和话题

什么是纯虚函数?

4 个月前提问
4 个月前修改
浏览次数25

1个答案

1

纯虚函数是C++中的一个概念,用于抽象类的定义。纯虚函数没有函数体,只声明函数的接口,其目的是为了让派生类去实现具体的功能。

在C++中,如果一个类中至少包含一个纯虚函数,则这个类就被称为抽象类。抽象类不能被实例化,也就是说我们不能创建这样一个类的对象。纯虚函数在类中的声明方式是在函数声明的末尾加上= 0

例如:

cpp
class Animal { public: virtual void speak() = 0; // 纯虚函数 };

在这个例子中,Animal 是一个抽象类,它包含了一个纯虚函数 speak()。因为 speak() 是纯虚函数,所以它强制要求任何继承自 Animal 的子类都必须提供 speak() 函数的具体实现。这样做的好处在于可以定义出一个统一的接口,而具体的实现则留给了子类。

我们可以创建一个继承自 Animal 的子类来具体实现这个函数:

cpp
class Dog : public Animal { public: void speak() override { cout << "Woof!" << endl; } }; class Cat : public Animal { public: void speak() override { cout << "Meow!" << endl; } };

在这里,DogCat 类继承自 Animal 类并提供了 speak() 函数的具体实现。每个子类根据自己的特性定义了 speak() 的具体行为,这就是多态的一种体现。

2024年7月23日 11:01 回复

你的答案