求c++绘制同心圆的类,同心圆中的小圆上有“相亲相爱南工人”5个蓝字,要求使用graphics库
时间: 2024-02-21 07:00:33 浏览: 148
以下是使用graphics库绘制同心圆的C++类,其中小圆上的字体为Arial,大小为12,颜色为蓝色:
```
#include <graphics.h>
#include <string.h>
class Circle {
private:
int x, y, r;
public:
Circle(int x, int y, int r) {
this->x = x;
this->y = y;
this->r = r;
}
void draw() {
circle(x, y, r);
}
void drawText(char* text) {
settextstyle(12, 0, "Arial");
settextcolor(BLUE);
outtextxy(x - strlen(text) * 3, y - 6, text);
}
};
int main() {
initgraph(800, 600);
Circle c1(400, 300, 100);
Circle c2(400, 300, 80);
Circle c3(400, 300, 60);
Circle c4(400, 300, 40);
Circle c5(400, 300, 20);
c1.draw();
c2.draw();
c3.draw();
c4.draw();
c5.draw();
c5.drawText("相亲相爱南工人");
getch();
closegraph();
return 0;
}
```
在这个类中,我们定义了一个Circle类,它有三个私有成员变量x、y、r,分别表示圆的中心坐标和半径。它还有两个公有方法:draw()和drawText(),分别用于绘制圆和在圆上绘制文本。
在主函数中,我们使用了graphics库的函数来初始化绘图窗口,创建了五个Circle对象,分别表示五个同心圆,并调用它们的draw()方法来绘制圆。最后,我们调用c5对象的drawText()方法,在最内层的小圆上绘制文本。
注意,这个类中使用的是graphics库,这是一种比较老的绘图库,在一些新的操作系统上可能不支持。如果需要使用更现代的绘图库,可以考虑使用OpenGL或者Qt等库来实现。
阅读全文