c++中什么是虚函数
时间: 2024-05-18 08:18:00 浏览: 105
虚函数是C++中用于实现多态(polymorphism)的机制
在C++中,虚函数是一种特殊的成员函数,它可以在基类中进行声明并在派生类中进行重写。通过使用虚函数,可以实现多态性,即通过基类指针或引用调用派生类的特定实现。
在C++中,虚函数使用关键字`virtual`进行声明。当基类中的函数被声明为虚函数后,在派生类中可以对其进行重写(覆盖)。通过基类指针或引用调用虚函数时,实际执行的是派生类中重写的函数。
以下是一个简单的示例:
```cpp
class Base {
public:
virtual void foo() {
cout << "Base::foo()" << endl;
}
};
class Derived : public Base {
public:
void foo() override {
cout << "Derived::foo()" << endl;
}
};
int main() {
Base* obj = new Derived(); // 创建一个派生类对象,并用基类指针指向它
obj->foo(); // 调用虚函数
delete obj;
return 0;
}
```
输出结果将是:
```
Derived::foo()
```
这个例子展示了虚函数的多态行为。尽管使用的是基类指针,但实际调用的是派生类中重写的方法。这就是虚函数的作用,允许通过基类接口调用派生类的实现。
阅读全文