c++虚函数
时间: 2023-08-03 10:12:41 浏览: 114
C++ 虚函数
C++中的虚函数是一种特殊的成员函数,它可以在派生类中被重写。在基类中声明一个函数为虚函数,可以使得该函数在其任何派生类中被重写,从而实现多态性。
使用虚函数的步骤如下:
1. 在基类中声明虚函数,使用关键字“virtual”修饰该函数。
2. 在派生类中重新定义该虚函数,并使用相同的函数签名(即函数名、参数列表和返回类型)。
3. 创建基类指针,并将其指向派生类对象。
4. 调用虚函数时,根据指针指向的对象类型来调用相应的函数。
以下是一个简单的示例:
```c++
class Shape {
public:
virtual void draw() {
std::cout << "Drawing a shape." << std::endl;
}
};
class Circle : public Shape {
public:
void draw() {
std::cout << "Drawing a circle." << std::endl;
}
};
int main() {
Shape* shapePtr = new Circle();
shapePtr->draw(); // 输出 "Drawing a circle."
delete shapePtr;
return 0;
}
```
在上面的例子中,Shape类中的draw()函数被声明为虚函数,Circle类中重新定义了该函数。在主函数中,创建了一个Shape类型的指针,并将其指向一个Circle对象。当调用shapePtr->draw()时,由于shapePtr指向的对象是Circle类型,因此将调用Circle类中的draw()函数。
阅读全文