纯虚函数是C++中的一个概念,用于抽象类的定义。纯虚函数没有函数体,只声明函数的接口,其目的是为了让派生类去实现具体的功能。
在C++中,如果一个类中至少包含一个纯虚函数,则这个类就被称为抽象类。抽象类不能被实例化,也就是说我们不能创建这样一个类的对象。纯虚函数在类中的声明方式是在函数声明的末尾加上= 0
。
例如:
cppclass Animal { public: virtual void speak() = 0; // 纯虚函数 };
在这个例子中,Animal
是一个抽象类,它包含了一个纯虚函数 speak()
。因为 speak()
是纯虚函数,所以它强制要求任何继承自 Animal
的子类都必须提供 speak()
函数的具体实现。这样做的好处在于可以定义出一个统一的接口,而具体的实现则留给了子类。
我们可以创建一个继承自 Animal
的子类来具体实现这个函数:
cppclass Dog : public Animal { public: void speak() override { cout << "Woof!" << endl; } }; class Cat : public Animal { public: void speak() override { cout << "Meow!" << endl; } };
在这里,Dog
和 Cat
类继承自 Animal
类并提供了 speak()
函数的具体实现。每个子类根据自己的特性定义了 speak()
的具体行为,这就是多态的一种体现。
2024年7月23日 11:01 回复