简单给出一个c++多态的实现
时间: 2023-08-03 19:04:30 浏览: 103
C++多态的实现
5星 · 资源好评率100%
C++中的多态通过虚函数(virtual function)来实现。具体步骤如下:
1. 定义一个基类(父类),其中至少包含一个虚函数,该虚函数在派生类(子类)中得到重写。
```c++
class Shape {
public:
virtual int getArea() {
return 0;
}
};
```
2. 定义派生类(子类),并在其中重写虚函数。
```c++
class Rectangle: public Shape {
public:
int getArea() {
return width * height;
}
};
```
3. 在主函数中,定义父类指针,并将其指向派生类对象。此时,当调用虚函数时,将调用派生类中的虚函数。
```c++
int main() {
Shape *shape;
Rectangle rec(10,7);
shape = &rec;
cout << "Rectangle area: " << shape->getArea() << endl; // 调用 Rectangle::getArea()
return 0;
}
```
这样,当我们需要定义新的派生类时,只需要重写基类中的虚函数即可。而当我们调用虚函数时,将会自动调用派生类中的虚函数,从而实现多态。
阅读全文