从point类中派生出一个line类
时间: 2024-06-08 19:09:33 浏览: 150
使用point类生成line类,使用组合和派生两种方法
3星 · 编辑精心推荐
可以通过继承的方式从point类中派生出一个line类。line类可以包括两个point对象,表示起点和终点,以及一些方法,如计算线段长度、计算线段斜率等。下面是一个示例代码:
```
class point {
protected:
double x, y;
public:
point(double a = 0, double b = 0) : x(a), y(b) {}
};
class line : public point {
private:
point p1, p2;
public:
line(point a, point b) : p1(a), p2(b) {}
double length() {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return sqrt(dx*dx + dy*dy);
}
double slope() {
double dx = p1.x - p2.x;
double dy = p1.y - p2.y;
return dy / dx;
}
};
```
在这个示例中,line类从point类继承了x和y两个数据成员,同时还包含了两个point对象p1和p2。line类中的length()和slope()方法可以计算线段的长度和斜率。注意,在line类中使用了point类的构造函数来初始化x和y数据成员。
阅读全文