多态画图根据用户的要求在控制台打印不同的形状
时间: 2024-05-11 20:19:03 浏览: 65
打印各种图型
好的,我可以为您编写一个基于多态的简单示例程序,用于绘制不同的形状。
首先,我们需要定义一个 Shape 基类,它包含一个纯虚函数 draw(),用于绘制形状:
```C++
class Shape {
public:
virtual void draw() = 0;
};
```
然后,我们可以派生出不同的形状类,比如圆形、矩形和三角形,并重写它们的 draw() 函数:
```C++
class Circle : public Shape {
public:
void draw() {
std::cout << "绘制一个圆形" << std::endl;
}
};
class Rectangle : public Shape {
public:
void draw() {
std::cout << "绘制一个矩形" << std::endl;
}
};
class Triangle : public Shape {
public:
void draw() {
std::cout << "绘制一个三角形" << std::endl;
}
};
```
现在,我们可以编写一个函数,它接受一个 Shape 指针作为参数,并调用它的 draw() 函数:
```C++
void drawShape(Shape* shape) {
shape->draw();
}
```
最后,我们可以在主函数中创建不同的形状对象,并调用 drawShape() 函数来绘制它们:
```C++
int main() {
Circle circle;
Rectangle rectangle;
Triangle triangle;
drawShape(&circle);
drawShape(&rectangle);
drawShape(&triangle);
return 0;
}
```
这样,我们就可以根据用户的要求在控制台上打印不同的形状了。当用户需要绘制新的形状时,只需要创建一个新的派生类,并重写它的 draw() 函数即可。
阅读全文