抽象类创建引用来调用虚函数
时间: 2023-09-26 12:14:19 浏览: 57
在C++中,抽象类是指包含至少一个纯虚函数的类。纯虚函数是在类中声明但没有实现的虚函数,它们被用于定义一个接口,派生类必须实现这些函数才能被实例化。由于抽象类不能被实例化,所以我们需要使用指向抽象类的指针或引用来调用其虚函数。
下面是一个示例代码,演示如何使用抽象类创建引用来调用虚函数:
```c++
#include <iostream>
using namespace std;
// 抽象类
class Shape {
public:
// 纯虚函数
virtual void draw() = 0;
};
// 派生类
class Rectangle: public Shape {
public:
void draw() {
cout << "Drawing Rectangle" << endl;
}
};
int main() {
Rectangle rect;
// 使用指向抽象类的指针来调用虚函数
Shape *shape = ▭
shape->draw();
// 使用指向抽象类的引用来调用虚函数
Shape &shapeRef = rect;
shapeRef.draw();
return 0;
}
```
在上述示例中,Shape是一个抽象类,其中只有一个纯虚函数draw()。Rectangle是Shape的派生类,实现了draw()函数。在main函数中,我们创建了一个Rectangle对象rect,并使用指向抽象类的指针和引用来调用draw()函数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)