设计点类和其派生类三角形类 1、点类 (1)私有成员变量包括x和y,双精度型,表示点的横坐标和纵坐标; (2)公有成员函数包括:构造函数和显示函数,用于显示x和y的值。 2、三角形类,由点类公有派生而来 (1)私有成员变量包括二个点类对象p1,p2,三条边a,b,c (2)公有成员函数要求实现的功能如下::求三角形重心
时间: 2024-03-12 16:45:08 浏览: 41
点类的实现如下:
```cpp
class Point {
private:
double x;
double y;
public:
Point(double _x, double _y) : x(_x), y(_y) {}
void display() {
cout << "x: " << x << ", y: " << y << endl;
}
};
```
三角形类的实现如下:
```cpp
class Triangle : public Point {
private:
Point p1;
Point p2;
double a;
double b;
double c;
public:
Triangle(double _x, double _y, Point _p1, Point _p2) : Point(_x, _y), p1(_p1), p2(_p2) {
// 计算三角形三边的长度
a = sqrt(pow(p1.x - x, 2) + pow(p1.y - y, 2));
b = sqrt(pow(p2.x - x, 2) + pow(p2.y - y, 2));
c = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
}
void centroid() {
// 计算三角形重心
double cx = (p1.x + p2.x + x) / 3;
double cy = (p1.y + p2.y + y) / 3;
cout << "The centroid of the triangle is (" << cx << ", " << cy << ")." << endl;
}
};
```
在使用时,可以这样创建一个三角形对象并计算重心:
```cpp
Point p1(1, 1);
Point p2(3, 1);
Triangle tri(2, 3, p1, p2);
tri.centroid();
```
输出结果为:
```
The centroid of the triangle is (2, 1.33333).
```
阅读全文