virtual关键字c++
时间: 2023-11-24 13:50:45 浏览: 99
深入理解c++中virtual关键字
5星 · 资源好评率100%
在C++中,virtual是一个非常重要的关键字,它用于实现多态性。当在基类中声明一个函数为虚函数时,派生类中的同名函数会自动成为虚函数。这意味着,当我们使用基类指针或引用调用一个派生类对象的虚函数时,将会调用派生类中的函数而不是基类中的函数。这种行为被称为动态绑定或后期绑定。
虚函数的声明方式如下:
```c++
class Base {
public:
virtual void func();
};
```
在派生类中重写虚函数时,需要使用override关键字,以确保函数签名与基类中的虚函数相同:
```c++
class Derived : public Base {
public:
void func() override;
};
```
另外,如果我们希望某个虚函数在基类中没有实现,而是在派生类中实现,我们可以将该虚函数声明为纯虚函数。纯虚函数的声明方式如下:
```c++
class Base {
public:
virtual void func() = 0;
};
```
需要注意的是,包含纯虚函数的类是抽象类,不能被实例化。派生类必须实现纯虚函数才能被实例化。
阅读全文