C++中虚函数和纯虚函数
时间: 2024-02-13 13:58:08 浏览: 178
c++中虚函数和纯虚函数的作用与区别
5星 · 资源好评率100%
C++中的虚函数和纯虚函数是实现多态的重要机制。通过虚函数和纯虚函数,我们可以实现运行时多态和定义接口。
1. 虚函数:
虚函数是在基类中声明的函数,可以在派生类中进行重写。通过在基类中使用关键字`virtual`来声明虚函数。当通过基类指针或引用调用虚函数时,会根据实际对象的类型来确定调用的是哪个类的虚函数。
示例代码如下:
```cpp
class Base {
public:
virtual void show() {
cout << "Base class" << endl;
}
};
class Derived : public Base {
public:
void show() {
cout << "Derived class" << endl;
}
};
int main() {
Base* bptr;
Derived d;
bptr = &d;
bptr->show(); // 输出:Derived class
return ;
}
```
2. 纯虚函数:
纯虚函数是在基类中声明的没有实现的虚函数,它的声明以`= 0`结尾。纯虚函数在基类中没有具体的实现,而是由派生类来实现。纯虚函数用于定义接口,要求派生类必须实现该函数。
示例代码如下:
cpp
class Base {
public:
virtual void show() = 0;
};
class Derived : public Base {
public:
void show() {
cout << "Derived class" << endl;
}
};
int main() {
Base* bptr;
Derived d;
bptr = &d;
bptr->show(); // 输出:Derived class
return 0;
}
```
阅读全文