c++ 虚函数与纯虚函数
时间: 2024-06-08 11:02:00 浏览: 118
C++中的虚函数和纯虚函数是面向对象编程中的重要概念。
1. 虚函数(Virtual Function):
虚函数是在基类中声明的虚函数,它可以在派生类中被重写(覆盖)。通过使用虚函数,可以实现多态性,即通过基类的指针或引用调用派生类的函数。在C++中,通过在函数声明前加上关键字`virtual`来定义虚函数。
以下是一个示例代码,展示了虚函数的用法:
```cpp
#include <iostream>
class Base {
public:
virtual void show() {
std::cout << "Base class" << std::endl;
}
};
class Derived : public Base {
public:
void show() {
std::cout << "Derived class" << std::endl;
}
};
int main() {
Base* bptr;
Derived d;
bptr = &d;
bptr->show(); // 输出:Derived class
return 0;
}
```
2. 纯虚函数(Pure Virtual Function):
纯虚函数是在基类中声明的虚函数,但没有在基类中给出具体的实现。纯虚函数通过在函数声明后加上`= 0`来定义。纯虚函数的存在是为了实现接口的规范,要求派生类必须实现自己的实现方法。
以下是一个示例代码,展示了纯虚函数的用法:
```cpp
#include <iostream>
class Base {
public:
virtual void show() = 0; // 纯虚函数
};
class Derived : public Base {
public:
void show() {
std::cout << "Derived class" << std::endl;
}
};
int main() {
Base* bptr;
Derived d;
bptr = &d;
bptr->show(); // 输出:Derived class
return 0;
}
```
阅读全文