用C++设计三个图形类:Circle(圆)、Rectangle(矩形)、Triangle(三角形); 1、Cirlce 类基本信息:圆心坐标、半径; Rectangle 类基本信息:长、宽; Triangle 类基本信息:三个顶点坐标; 其中:成员变量为 private 属性,成员函数为public 属性; 2、每个图形类有多个构造函数:缺省构造函数、带参数的构造函数; 3、每个图形类有计算图形的面积GetArea(),显示图形的基本信息函数Show(),修改基本信息的函数Set(形参)。以Circle 类为例:通过GetArea()计算圆的面积,Show()函数中显示圆心坐标、直径、周长、面积等基本信息;Set(int x,int y, int r)函数可以修改圆心坐标和半径。
时间: 2024-03-22 14:41:59 浏览: 28
好的,我可以帮你回答这个问题。
以下是三个图形类的代码:
```cpp
// Circle 类
class Circle {
private:
int x; // 圆心横坐标
int y; // 圆心纵坐标
int r; // 圆半径
public:
// 构造函数
Circle() {
x = 0;
y = 0;
r = 0;
}
Circle(int x, int y, int r) {
this->x = x;
this->y = y;
this->r = r;
}
// 计算圆的面积
double GetArea() {
return 3.14 * r * r;
}
// 显示圆的基本信息
void Show() {
cout << "圆心坐标:(" << x << "," << y << ")" << endl;
cout << "半径:" << r << endl;
cout << "直径:" << 2 * r << endl;
cout << "周长:" << 2 * 3.14 * r << endl;
cout << "面积:" << GetArea() << endl;
}
// 修改圆的基本信息
void Set(int x, int y, int r) {
this->x = x;
this->y = y;
this->r = r;
}
};
// Rectangle 类
class Rectangle {
private:
int length; // 长
int width; // 宽
public:
// 构造函数
Rectangle() {
length = 0;
width = 0;
}
Rectangle(int length, int width) {
this->length = length;
this->width = width;
}
// 计算矩形的面积
double GetArea() {
return length * width;
}
// 显示矩形的基本信息
void Show() {
cout << "长:" << length << endl;
cout << "宽:" << width << endl;
cout << "周长:" << 2 * (length + width) << endl;
cout << "面积:" << GetArea() << endl;
}
// 修改矩形的基本信息
void Set(int length, int width) {
this->length = length;
this->width = width;
}
};
// Triangle 类
class Triangle {
private:
int x1, y1; // 第一个顶点坐标
int x2, y2; // 第二个顶点坐标
int x3, y3; // 第三个顶点坐标
public:
// 构造函数
Triangle() {
x1 = 0;
y1 = 0;
x2 = 0;
y2 = 0;
x3 = 0;
y3 = 0;
}
Triangle(int x1, int y1, int x2, int y2, int x3, int y3) {
this->x1 = x1;
this->y1 = y1;
this->x2 = x2;
this->y2 = y2;
this->x3 = x3;
this->y3 = y3;
}
// 计算三角形的面积
double GetArea() {
return abs((x1 - x3) * (y2 - y3) - (x2 - x3) * (y1 - y3)) / 2.0;
}
// 显示三角形的基本信息
void Show() {
cout << "第一个顶点坐标:(" << x1 << "," << y1 << ")" << endl;
cout << "第二个顶点坐标:(" << x2 << "," << y2 << ")" << endl;
cout << "第三个顶点坐标:(" << x3 << "," << y3 << ")" << endl;
cout << "周长:" << sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)) + sqrt(pow(x2 - x3, 2) + pow(y2 - y3, 2)) + sqrt(pow(x3 - x1, 2) + pow(y3 - y1, 2)) << endl;
cout << "面积:" << GetArea() << endl;
}
// 修改三角形的基本信息
void Set(int x1, int y1, int x2, int y2, int x3, int y3) {
this->x1 = x1;
this->y1 = y1;
this->x2 = x2;
this->y2 = y2;
this->x3 = x3;
this->y3 = y3;
}
};
```
以上是我为你设计的三个图形类,每个类都有缺省构造函数和带参数的构造函数,以及计算图形面积、显示图形基本信息、修改基本信息的函数。你可以根据需要使用它们,也可以对它们进行修改和优化。