2-11-3 点类派生直线类
来源:互联网 发布:会计怎么学 知乎 编辑:程序博客网 时间:2024/06/05 22:52
问题及代码:
#include<iostream>#include<Cmath>using namespace std;class Point //定义坐标点类{public: Point():x(0),y(0) {}; Point(double x0, double y0):x(x0), y(y0) {}; void PrintPoint(); //输出点的信息 double GetX(); double GetY();protected: double x,y; //点的横坐标和纵坐标};void Point::PrintPoint(){ cout<<"Point: ("<<x<<","<<y<<")"<<endl; //输出点}double Point::GetX(){ return x;}double Point::GetY(){ return y;}class Line: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点{public: Line(Point pts, Point pte):pts(pts),pte(pte) { x=(pts.GetX()+pte.GetX())/2; y=(pts.GetY()+pte.GetY())/2; }; //构造函数,用初始化直线的两个端点及由基类数据成员描述的中点 double Length(); //计算并返回直线的长度 void PrintLine(); //输出直线的两个端点和直线长度private: Point pts,pte; //直线的两个端点,从Point类继承的数据成员表示直线的中点};double Line::Length(){ return sqrt((pts.GetX()-pte.GetX())*(pts.GetX()-pte.GetX())+(pts.GetY()-pte.GetY())*(pts.GetY()-pte.GetY()));}void Line::PrintLine(){ cout<<" 1st "; pts.PrintPoint(); cout<<" 2nd "; pte.PrintPoint(); cout<<"The Length of The Line :"<<Length()<<endl;}int main(){ Point ps(-2,5),pe(7,9); Line l(ps,pe); cout<<"About the Line: "<<endl; l.PrintLine(); //输出直线l的信息:两端点及长度 cout<<"The middle point of Line is: "; l.PrintPoint(); //输出直线l中点的信息 return 0;}
运行结果:
学习小结:
额,做完啦!没啥大问题
刚开始用pts.x访问时出错,我在想为啥没有一个getx()函数,一直想在没有这个函数的情况下要怎么访问
想着想着,我打开了....参考解答
发现是要有一个这样的函数
瞬间有一种复杂感觉..
发现好像是自己没认真审题的原因
0 0
- 11-3 点类派生直线类
- 2-11-3 点类派生直线类
- 点派生类直线
- 点派生直线类
- 项目3 - 点类派生直线类
- 项目3 点类派生直线类
- 十一.3 点类派生直线类
- 项目3-点类派生直线类
- 定义点类派生直线类2
- 第11周 项目3 点类派生直线类
- 第11周 【项目3 - 点类派生直线类】
- 第11周项目3-点类派生直线类
- 第11周项目3-点类派生直线类
- 第11周 项目3 点类派生直线类
- 第11周项目3 点类派生直线类
- 点类派生直线类
- 点类派生直线类
- 点类派生直线类
- Activity、Service&Handler
- C#实体模型增删改查
- 第十一周项目四--类族的设计(子任务)
- 类成员变量中存在引用,const,和指针类型时需要注意的事项
- uva 1594
- 2-11-3 点类派生直线类
- Android实战技巧之三十三:android.hardware.camera2使用指南
- 霍夫直线检测及opencv的实现分析
- Unity设计模式之装饰模式的使用
- 2015年oj:最大公约数,最小公倍数
- iOS开发系列--网络开发
- iOS开发系列--并行开发其实很容易
- Starting your first golang program. 编写golang程序的"Hello World!"
- const和volatile同时修饰同一个变量