设计一个类族,在子类中定义与父类相同的函数,用不同类的对象进行 函数的调用。
时间: 2024-03-18 17:39:29 浏览: 16
好的,我可以为您解答这个问题。在 C++ 中,可以通过定义一个虚函数来实现多态,从而在子类中重新定义与父类相同的函数。以下是一个简单的示例代码:
```c++
#include <iostream>
using namespace std;
// 父类
class Shape {
public:
virtual void draw() {
cout << "绘制形状" << endl;
}
};
// 子类1
class Circle : public Shape {
public:
void draw() {
cout << "绘制圆形" << endl;
}
};
// 子类2
class Rectangle : public Shape {
public:
void draw() {
cout << "绘制矩形" << endl;
}
};
int main() {
Shape* shape1 = new Circle();
Shape* shape2 = new Rectangle();
shape1->draw(); // 调用子类1的函数
shape2->draw(); // 调用子类2的函数
delete shape1;
delete shape2;
return 0;
}
```
在上述代码中,父类 `Shape` 定义了一个虚函数 `draw()`,子类 `Circle` 和 `Rectangle` 分别重新定义了该函数,并实现了不同的绘制内容。在 `main()` 函数中,通过创建不同子类的对象并赋值给父类指针 `shape1` 和 `shape2`,然后调用相同的函数 `draw()`,实现了多态的效果。运行上述代码将会输出以下结果:
```
绘制圆形
绘制矩形
```
可以看到,通过不同的对象调用相同的函数,实现了不同的功能。
阅读全文