一个类只有一个虚构函数
时间: 2024-11-22 22:48:21 浏览: 5
C++深刻理解继承与虚构
在一个类中,如果存在一个特殊的功能或操作,但并不需要由用户直接调用,可能会定义一个被称为抽象方法或虚函数(在某些语言中)。这个虚构函数通常是一个纯虚函数,它没有实际的实现(即没有方法体),并且前缀通常用`= 0`或`= default`表示。这类函数的主要目的是作为类的一个接口规范,让子类去实现。
当一个基类包含这样的虚函数,那么所有它的派生类都必须提供对该函数的实现,否则这些派生类也将成为抽象类,无法实例化。通过这种方式,实现了多态性,允许基类通过指向派生类的对象间接调用这个函数,即使实际运行的是派生类版本的代码。
例如,在C++中:
```cpp
class Animal {
public:
virtual void makeSound() = 0; // 虚函数,动物都会发声,但具体怎么发没有实现
};
class Dog : public Animal {
public:
void makeSound() override { cout << "Woof!" << endl; }
};
class Cat : public Animal {
public:
void makeSound() override { cout << "Meow!" << endl; }
};
```
阅读全文