怎么实现C++中基类使用虚函数怎么调用多个子类
时间: 2024-05-12 15:17:10 浏览: 111
实现C++中基类使用虚函数的调用多个子类方法可以采用多态的机制,具体可以通过以下步骤实现:
1. 在基类中声明虚函数,子类可以重写这个函数。
2. 声明一个基类指针指向子类对象,通过这个指针调用虚函数实现多态。
3. 通过动态绑定机制在运行时确定调用哪个子类的虚函数。
例如:
```cpp
#include <iostream>
using namespace std;
class Shape {
public:
virtual void draw() {
cout << "Shape::draw() called" << endl;
}
};
class Circle : public Shape {
public:
void draw() {
cout << "Circle::draw() called" << endl;
}
};
class Square : public Shape {
public:
void draw() {
cout << "Square::draw() called" << endl;
}
};
int main() {
Shape *s;
Circle c;
Square sq;
s = &c;
s -> draw();
s = &sq;
s -> draw();
return 0;
}
```
输出:
```
Circle::draw() called
Square::draw() called
```
在这个例子中,Shape作为基类声明了虚函数draw(),然后Circle类和Square类都重写了这个函数并实现自己的逻辑。在main()函数中,我们声明了Shape类型的指针s,并用它依次指向了Circle对象和Square对象,然后通过指针s调用draw()函数。运行结果表明,程序正确地调用了Circle::draw()和Square::draw()函数,这就是多态机制的体现。
阅读全文